summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorraveit65 (via Travis CI) <[email protected]>2020-09-07 11:57:28 +0000
committerraveit65 (via Travis CI) <[email protected]>2020-09-07 11:57:28 +0000
commit920a6ad433e2a29642369f4c4dccbe5eb0283a85 (patch)
treefdd9887daa58776eff60867513651e7b3e6f0cd4
downloadmate-applets-gh-pages.tar.bz2
mate-applets-gh-pages.tar.xz
Deploy mate-desktop/mate-applets to github.com/mate-desktop/mate-applets.git:gh-pagesgh-pages
-rw-r--r--[email protected]_master/index.html122
-rw-r--r--[email protected]_master/report-037c83.html698
-rw-r--r--[email protected]_master/report-2aa365.html830
-rw-r--r--[email protected]_master/report-3551d2.html698
-rw-r--r--[email protected]_master/report-41b252.html2113
-rw-r--r--[email protected]_master/report-75ce3c.html698
-rw-r--r--[email protected]_master/report-8166a5.html487
-rw-r--r--[email protected]_master/report-d8e0bd.html698
-rw-r--r--[email protected]_master/report-eaae3d.html864
-rw-r--r--[email protected]_master/scanview.css62
-rw-r--r--[email protected]_master/sorttable.js492
-rw-r--r--[email protected]_master/0.html610
-rw-r--r--[email protected]_master/1.html3646
-rw-r--r--[email protected]_master/10.html866
-rw-r--r--[email protected]_master/11.html1158
-rw-r--r--[email protected]_master/12.html1920
-rw-r--r--[email protected]_master/14.html970
-rw-r--r--[email protected]_master/16.html1144
-rw-r--r--[email protected]_master/18.html2138
-rw-r--r--[email protected]_master/19.html602
-rw-r--r--[email protected]_master/2.html640
-rw-r--r--[email protected]_master/20.html670
-rw-r--r--[email protected]_master/21.html914
-rw-r--r--[email protected]_master/22.html908
-rw-r--r--2020-08-3[email protected]_master/23.html1330
-rw-r--r--[email protected]_master/24.html926
-rw-r--r--[email protected]_master/25.html2662
-rw-r--r--[email protected]_master/26.html1066
-rw-r--r--[email protected]_master/27.html1078
-rw-r--r--[email protected]_master/28.html1220
-rw-r--r--[email protected]_master/29.html1346
-rw-r--r--[email protected]_master/3.html1162
-rw-r--r--[email protected]_master/30.html1642
-rw-r--r--[email protected]_master/31.html1454
-rw-r--r--[email protected]_master/32.html3750
-rw-r--r--[email protected]_master/33.html2084
-rw-r--r--[email protected]_master/34.html2260
-rw-r--r--[email protected]_master/35.html1462
-rw-r--r--[email protected]_master/36.html1300
-rw-r--r--[email protected]_master/37.html870
-rw-r--r--[email protected]_master/38.html936
-rw-r--r--[email protected]_master/39.html530
-rw-r--r--[email protected]_master/4.html1030
-rw-r--r--[email protected]_master/5.html2606
-rw-r--r--[email protected]_master/6.html1254
-rw-r--r--[email protected]_master/7.html606
-rw-r--r--[email protected]_master/8.html1848
-rw-r--r--[email protected]_master/9.html1330
-rw-r--r--[email protected]_master/index.html298
-rw-r--r--[email protected]_master/stats.html131
-rw-r--r--[email protected]_master/style.css137
-rw-r--r--[email protected]_battstat-code-style/index.html122
-rw-r--r--[email protected]_battstat-code-style/report-531f2c.html2113
-rw-r--r--[email protected]_battstat-code-style/report-9620b4.html487
-rw-r--r--[email protected]_battstat-code-style/report-973f21.html864
-rw-r--r--[email protected]_battstat-code-style/report-a4b181.html698
-rw-r--r--[email protected]_battstat-code-style/report-a8acd9.html698
-rw-r--r--[email protected]_battstat-code-style/report-b80d4a.html845
-rw-r--r--[email protected]_battstat-code-style/report-e0fba2.html698
-rw-r--r--[email protected]_battstat-code-style/report-e8d919.html698
-rw-r--r--[email protected]_battstat-code-style/scanview.css62
-rw-r--r--[email protected]_battstat-code-style/sorttable.js492
-rw-r--r--[email protected]_battstat-code-style/0.html610
-rw-r--r--[email protected]_battstat-code-style/1.html3646
-rw-r--r--[email protected]_battstat-code-style/10.html866
-rw-r--r--[email protected]_battstat-code-style/11.html1158
-rw-r--r--[email protected]_battstat-code-style/12.html1920
-rw-r--r--[email protected]_battstat-code-style/14.html970
-rw-r--r--[email protected]_battstat-code-style/16.html1144
-rw-r--r--[email protected]_battstat-code-style/18.html2138
-rw-r--r--[email protected]_battstat-code-style/19.html602
-rw-r--r--[email protected]_battstat-code-style/2.html640
-rw-r--r--[email protected]_battstat-code-style/20.html670
-rw-r--r--[email protected]_battstat-code-style/21.html914
-rw-r--r--[email protected]_battstat-code-style/22.html908
-rw-r--r--[email protected]_battstat-code-style/23.html1330
-rw-r--r--[email protected]_battstat-code-style/24.html926
-rw-r--r--[email protected]_battstat-code-style/25.html2662
-rw-r--r--[email protected]_battstat-code-style/26.html1066
-rw-r--r--[email protected]b64_battstat-code-style/27.html1078
-rw-r--r--[email protected]_battstat-code-style/28.html1220
-rw-r--r--[email protected]_battstat-code-style/29.html1346
-rw-r--r--[email protected]_battstat-code-style/3.html1192
-rw-r--r--[email protected]_battstat-code-style/30.html1642
-rw-r--r--[email protected]_battstat-code-style/31.html1454
-rw-r--r--[email protected]_battstat-code-style/32.html3750
-rw-r--r--[email protected]_battstat-code-style/33.html2084
-rw-r--r--[email protected]_battstat-code-style/34.html2260
-rw-r--r--[email protected]_battstat-code-style/35.html1462
-rw-r--r--[email protected]_battstat-code-style/36.html1300
-rw-r--r--[email protected]_battstat-code-style/37.html870
-rw-r--r--[email protected]_battstat-code-style/38.html936
-rw-r--r--[email protected]_battstat-code-style/39.html530
-rw-r--r--[email protected]_battstat-code-style/4.html1030
-rw-r--r--[email protected]_battstat-code-style/5.html2654
-rw-r--r--[email protected]_battstat-code-style/6.html1254
-rw-r--r--[email protected]_battstat-code-style/7.html606
-rw-r--r--[email protected]_battstat-code-style/8.html1848
-rw-r--r--[email protected]_battstat-code-style/9.html1330
-rw-r--r--[email protected]_battstat-code-style/index.html298
-rw-r--r--[email protected]_battstat-code-style/stats.html131
-rw-r--r--[email protected]_battstat-code-style/style.css137
-rw-r--r--[email protected]_battstat-code-style/index.html122
-rw-r--r--[email protected]_battstat-code-style/report-225964.html843
-rw-r--r--[email protected]_battstat-code-style/report-2f98a6.html698
-rw-r--r--[email protected]_battstat-code-style/report-3267ca.html2113
-rw-r--r--[email protected]_battstat-code-style/report-73bc1b.html698
-rw-r--r--[email protected]_battstat-code-style/report-7a6e3e.html864
-rw-r--r--[email protected]_battstat-code-style/report-c79def.html698
-rw-r--r--[email protected]_battstat-code-style/report-d3440a.html487
-rw-r--r--[email protected]_battstat-code-style/report-e076ab.html698
-rw-r--r--[email protected]_battstat-code-style/scanview.css62
-rw-r--r--[email protected]_battstat-code-style/sorttable.js492
-rw-r--r--[email protected]_battstat-code-style/0.html610
-rw-r--r--[email protected]_battstat-code-style/1.html3646
-rw-r--r--[email protected]_battstat-code-style/10.html866
-rw-r--r--[email protected]_battstat-code-style/11.html1158
-rw-r--r--[email protected]_battstat-code-style/12.html1920
-rw-r--r--[email protected]_battstat-code-style/14.html970
-rw-r--r--[email protected]_battstat-code-style/16.html1144
-rw-r--r--[email protected]_battstat-code-style/18.html2138
-rw-r--r--[email protected]_battstat-code-style/19.html602
-rw-r--r--[email protected]_battstat-code-style/2.html640
-rw-r--r--[email protected]_battstat-code-style/20.html670
-rw-r--r--[email protected]_battstat-code-style/21.html914
-rw-r--r--[email protected]_battstat-code-style/22.html908
-rw-r--r--[email protected]_battstat-code-style/23.html1330
-rw-r--r--[email protected]_battstat-code-style/24.html926
-rw-r--r--[email protected]_battstat-code-style/25.html2662
-rw-r--r--[email protected]_battstat-code-style/26.html1066
-rw-r--r--[email protected]_battstat-code-style/27.html1078
-rw-r--r--[email protected]_battstat-code-style/28.html1220
-rw-r--r--[email protected]_battstat-code-style/29.html1346
-rw-r--r--[email protected]_battstat-code-style/3.html1188
-rw-r--r--[email protected]_battstat-code-style/30.html1642
-rw-r--r--[email protected]_battstat-code-style/31.html1454
-rw-r--r--[email protected]_battstat-code-style/32.html3750
-rw-r--r--[email protected]_battstat-code-style/33.html2084
-rw-r--r--[email protected]_battstat-code-style/34.html2260
-rw-r--r--[email protected]_battstat-code-style/35.html1462
-rw-r--r--[email protected]_battstat-code-style/36.html1300
-rw-r--r--[email protected]_battstat-code-style/37.html870
-rw-r--r--[email protected]_battstat-code-style/38.html936
-rw-r--r--[email protected]_battstat-code-style/39.html530
-rw-r--r--[email protected]_battstat-code-style/4.html1030
-rw-r--r--[email protected]_battstat-code-style/5.html2650
-rw-r--r--[email protected]_battstat-code-style/6.html1254
-rw-r--r--[email protected]_battstat-code-style/7.html606
-rw-r--r--[email protected]_battstat-code-style/8.html1848
-rw-r--r--[email protected]_battstat-code-style/9.html1330
-rw-r--r--[email protected]_battstat-code-style/index.html298
-rw-r--r--[email protected]_battstat-code-style/stats.html131
-rw-r--r--[email protected]_battstat-code-style/style.css137
-rw-r--r--[email protected]_battstat-code-style/index.html122
-rw-r--r--[email protected]_battstat-code-style/report-266604.html487
-rw-r--r--[email protected]_battstat-code-style/report-2a2c43.html698
-rw-r--r--[email protected]_battstat-code-style/report-2d6b4e.html2113
-rw-r--r--[email protected]_battstat-code-style/report-5b0815.html864
-rw-r--r--[email protected]_battstat-code-style/report-60856f.html698
-rw-r--r--[email protected]_battstat-code-style/report-89e48f.html843
-rw-r--r--[email protected]_battstat-code-style/report-8cd0cf.html698
-rw-r--r--[email protected]_battstat-code-style/report-d0c5ce.html698
-rw-r--r--[email protected]_battstat-code-style/scanview.css62
-rw-r--r--[email protected]_battstat-code-style/sorttable.js492
-rw-r--r--[email protected]_battstat-code-style/0.html610
-rw-r--r--[email protected]_battstat-code-style/1.html3646
-rw-r--r--[email protected]_battstat-code-style/10.html866
-rw-r--r--[email protected]_battstat-code-style/11.html1158
-rw-r--r--[email protected]_battstat-code-style/12.html1920
-rw-r--r--[email protected]_battstat-code-style/14.html970
-rw-r--r--[email protected]_battstat-code-style/16.html1144
-rw-r--r--[email protected]_battstat-code-style/18.html2138
-rw-r--r--[email protected]_battstat-code-style/19.html602
-rw-r--r--[email protected]_battstat-code-style/2.html640
-rw-r--r--[email protected]_battstat-code-style/20.html670
-rw-r--r--[email protected]_battstat-code-style/21.html914
-rw-r--r--[email protected]_battstat-code-style/22.html908
-rw-r--r--[email protected]_battstat-code-style/23.html1330
-rw-r--r--[email protected]_battstat-code-style/24.html926
-rw-r--r--[email protected]_battstat-code-style/25.html2662
-rw-r--r--[email protected]_battstat-code-style/26.html1066
-rw-r--r--[email protected]_battstat-code-style/27.html1078
-rw-r--r--[email protected]_battstat-code-style/28.html1220
-rw-r--r--[email protected]_battstat-code-style/29.html1346
-rw-r--r--[email protected]_battstat-code-style/3.html1188
-rw-r--r--[email protected]_battstat-code-style/30.html1642
-rw-r--r--[email protected]_battstat-code-style/31.html1454
-rw-r--r--[email protected]_battstat-code-style/32.html3750
-rw-r--r--[email protected]_battstat-code-style/33.html2084
-rw-r--r--[email protected]_battstat-code-style/34.html2260
-rw-r--r--[email protected]_battstat-code-style/35.html1462
-rw-r--r--[email protected]_battstat-code-style/36.html1300
-rw-r--r--[email protected]_battstat-code-style/37.html870
-rw-r--r--[email protected]_battstat-code-style/38.html936
-rw-r--r--[email protected]_battstat-code-style/39.html530
-rw-r--r--[email protected]_battstat-code-style/4.html1030
-rw-r--r--[email protected]_battstat-code-style/5.html2650
-rw-r--r--[email protected]_battstat-code-style/6.html1254
-rw-r--r--[email protected]_battstat-code-style/7.html606
-rw-r--r--[email protected]_battstat-code-style/8.html1848
-rw-r--r--[email protected]_battstat-code-style/9.html1330
-rw-r--r--[email protected]_battstat-code-style/index.html298
-rw-r--r--[email protected]_battstat-code-style/stats.html131
-rw-r--r--[email protected]_battstat-code-style/style.css137
-rw-r--r--[email protected]_battstat-code-style/index.html122
-rw-r--r--[email protected]_battstat-code-style/report-2896ca.html698
-rw-r--r--[email protected]_battstat-code-style/report-5c5828.html864
-rw-r--r--2020-09-02-213953-7[email protected]_battstat-code-style/report-724bbb.html2113
-rw-r--r--[email protected]_battstat-code-style/report-804cbd.html698
-rw-r--r--[email protected]_battstat-code-style/report-82fd68.html487
-rw-r--r--[email protected]_battstat-code-style/report-9629a7.html698
-rw-r--r--[email protected]_battstat-code-style/report-c47ed6.html843
-rw-r--r--[email protected]_battstat-code-style/report-d4ba5a.html698
-rw-r--r--[email protected]_battstat-code-style/scanview.css62
-rw-r--r--[email protected]_battstat-code-style/sorttable.js492
-rw-r--r--[email protected]_battstat-code-style/0.html610
-rw-r--r--[email protected]_battstat-code-style/1.html3646
-rw-r--r--[email protected]_battstat-code-style/10.html866
-rw-r--r--[email protected]_battstat-code-style/11.html1158
-rw-r--r--[email protected]_battstat-code-style/12.html1920
-rw-r--r--[email protected]_battstat-code-style/14.html970
-rw-r--r--[email protected]_battstat-code-style/16.html1144
-rw-r--r--[email protected]_battstat-code-style/18.html2138
-rw-r--r--[email protected]_battstat-code-style/19.html602
-rw-r--r--[email protected]19a51bdbac_battstat-code-style/2.html640
-rw-r--r--[email protected]_battstat-code-style/20.html670
-rw-r--r--[email protected]_battstat-code-style/21.html914
-rw-r--r--[email protected]_battstat-code-style/22.html908
-rw-r--r--[email protected]_battstat-code-style/23.html1330
-rw-r--r--[email protected]_battstat-code-style/24.html926
-rw-r--r--[email protected]_battstat-code-style/25.html2662
-rw-r--r--[email protected]_battstat-code-style/26.html1066
-rw-r--r--[email protected]_battstat-code-style/27.html1078
-rw-r--r--[email protected]_battstat-code-style/28.html1220
-rw-r--r--[email protected]_battstat-code-style/29.html1346
-rw-r--r--[email protected]_battstat-code-style/3.html1188
-rw-r--r--[email protected]_battstat-code-style/30.html1642
-rw-r--r--[email protected]_battstat-code-style/31.html1454
-rw-r--r--[email protected]_battstat-code-style/32.html3750
-rw-r--r--[email protected]_battstat-code-style/33.html2084
-rw-r--r--[email protected]_battstat-code-style/34.html2260
-rw-r--r--[email protected]_battstat-code-style/35.html1462
-rw-r--r--[email protected]_battstat-code-style/36.html1300
-rw-r--r--[email protected]_battstat-code-style/37.html870
-rw-r--r--[email protected]_battstat-code-style/38.html936
-rw-r--r--[email protected]_battstat-code-style/39.html530
-rw-r--r--[email protected]_battstat-code-style/4.html1030
-rw-r--r--[email protected]_battstat-code-style/5.html2650
-rw-r--r--[email protected]_battstat-code-style/6.html1254
-rw-r--r--[email protected]_battstat-code-style/7.html606
-rw-r--r--[email protected]_battstat-code-style/8.html1848
-rw-r--r--[email protected]_battstat-code-style/9.html1330
-rw-r--r--[email protected]_battstat-code-style/index.html298
-rw-r--r--[email protected]_battstat-code-style/stats.html131
-rw-r--r--[email protected]_battstat-code-style/style.css137
-rw-r--r--[email protected]_master/index.html122
-rw-r--r--[email protected]_master/report-2236ce.html698
-rw-r--r--[email protected]_master/report-2728e1.html698
-rw-r--r--[email protected]_master/report-39b047.html864
-rw-r--r--[email protected]_master/report-459282.html830
-rw-r--r--[email protected]_master/report-4ff462.html487
-rw-r--r--[email protected]_master/report-a2a825.html698
-rw-r--r--[email protected]_master/report-b8bc2a.html2113
-rw-r--r--[email protected]_master/report-f06306.html698
-rw-r--r--[email protected]_master/scanview.css62
-rw-r--r--[email protected]_master/sorttable.js492
-rw-r--r--[email protected]_master/0.html610
-rw-r--r--[email protected]_master/1.html3646
-rw-r--r--[email protected]_master/10.html866
-rw-r--r--[email protected]_master/11.html1158
-rw-r--r--[email protected]_master/12.html1920
-rw-r--r--[email protected]_master/14.html970
-rw-r--r--[email protected]_master/16.html1144
-rw-r--r--[email protected]_master/18.html2138
-rw-r--r--[email protected]_master/19.html602
-rw-r--r--[email protected]_master/2.html640
-rw-r--r--[email protected]_master/20.html670
-rw-r--r--[email protected]_master/21.html914
-rw-r--r--[email protected]_master/22.html908
-rw-r--r--[email protected]_master/23.html1330
-rw-r--r--[email protected]_master/24.html942
-rw-r--r--[email protected]_master/25.html2674
-rw-r--r--[email protected]_master/26.html1066
-rw-r--r--[email protected]_master/27.html1078
-rw-r--r--[email protected]_master/28.html1220
-rw-r--r--[email protected]_master/29.html1346
-rw-r--r--[email protected]_master/3.html1162
-rw-r--r--[email protected]_master/30.html1642
-rw-r--r--[email protected]_master/31.html1454
-rw-r--r--[email protected]_master/32.html3750
-rw-r--r--[email protected]_master/33.html2084
-rw-r--r--[email protected]_master/34.html2260
-rw-r--r--[email protected]_master/35.html1462
-rw-r--r--[email protected]_master/36.html1300
-rw-r--r--[email protected]_master/37.html870
-rw-r--r--[email protected]_master/38.html936
-rw-r--r--[email protected]_master/39.html530
-rw-r--r--[email protected]_master/4.html1030
-rw-r--r--[email protected]_master/5.html2606
-rw-r--r--[email protected]_master/6.html1254
-rw-r--r--[email protected]_master/7.html606
-rw-r--r--[email protected]_master/8.html1848
-rw-r--r--[email protected]_master/9.html1330
-rw-r--r--[email protected]_master/index.html298
-rw-r--r--[email protected]_master/stats.html131
-rw-r--r--[email protected]_master/style.css137
-rw-r--r--[email protected]_battstat-code-style/index.html122
-rw-r--r--[email protected]_battstat-code-style/report-3c7fee.html698
-rw-r--r--[email protected]_battstat-code-style/report-4866b8.html2113
-rw-r--r--[email protected]_battstat-code-style/report-607747.html698
-rw-r--r--[email protected]_battstat-code-style/report-656a87.html698
-rw-r--r--[email protected]_battstat-code-style/report-6e35b5.html864
-rw-r--r--[email protected]_battstat-code-style/report-798173.html698
-rw-r--r--[email protected]_battstat-code-style/report-98d118.html487
-rw-r--r--[email protected]_battstat-code-style/report-da4bf9.html843
-rw-r--r--[email protected]_battstat-code-style/scanview.css62
-rw-r--r--[email protected]_battstat-code-style/sorttable.js492
-rw-r--r--[email protected]_battstat-code-style/0.html610
-rw-r--r--[email protected]_battstat-code-style/1.html3646
-rw-r--r--[email protected]_battstat-code-style/10.html866
-rw-r--r--[email protected]_battstat-code-style/11.html1158
-rw-r--r--[email protected]_battstat-code-style/12.html1920
-rw-r--r--[email protected]_battstat-code-style/14.html970
-rw-r--r--[email protected]_battstat-code-style/16.html1144
-rw-r--r--[email protected]_battstat-code-style/18.html2138
-rw-r--r--[email protected]_battstat-code-style/19.html602
-rw-r--r--[email protected]_battstat-code-style/2.html640
-rw-r--r--[email protected]_battstat-code-style/20.html670
-rw-r--r--[email protected]_battstat-code-style/21.html914
-rw-r--r--[email protected]_battstat-code-style/22.html908
-rw-r--r--[email protected]_battstat-code-style/23.html1330
-rw-r--r--[email protected]_battstat-code-style/24.html926
-rw-r--r--[email protected]_battstat-code-style/25.html2662
-rw-r--r--[email protected]_battstat-code-style/26.html1066
-rw-r--r--[email protected]_battstat-code-style/27.html1078
-rw-r--r--[email protected]_battstat-code-style/28.html1220
-rw-r--r--[email protected]_battstat-code-style/29.html1346
-rw-r--r--[email protected]_battstat-code-style/3.html1188
-rw-r--r--[email protected]_battstat-code-style/30.html1642
-rw-r--r--[email protected]_battstat-code-style/31.html1454
-rw-r--r--[email protected]_battstat-code-style/32.html3750
-rw-r--r--[email protected]_battstat-code-style/33.html2084
-rw-r--r--[email protected]_battstat-code-style/34.html2260
-rw-r--r--[email protected]_battstat-code-style/35.html1462
-rw-r--r--[email protected]_battstat-code-style/36.html1300
-rw-r--r--[email protected]_battstat-code-style/37.html870
-rw-r--r--[email protected]_battstat-code-style/38.html936
-rw-r--r--[email protected]_battstat-code-style/39.html530
-rw-r--r--[email protected]_battstat-code-style/4.html1030
-rw-r--r--[email protected]_battstat-code-style/5.html2650
-rw-r--r--[email protected]_battstat-code-style/6.html1254
-rw-r--r--[email protected]_battstat-code-style/7.html606
-rw-r--r--[email protected]_battstat-code-style/8.html1848
-rw-r--r--[email protected]_battstat-code-style/9.html1330
-rw-r--r--[email protected]_battstat-code-style/index.html298
-rw-r--r--[email protected]_battstat-code-style/stats.html131
-rw-r--r--[email protected]_battstat-code-style/style.css137
-rw-r--r--[email protected]_master/index.html122
-rw-r--r--[email protected]_master/report-39578e.html698
-rw-r--r--[email protected]_master/report-44e5be.html843
-rw-r--r--[email protected]_master/report-567fac.html698
-rw-r--r--[email protected]_master/report-5c8332.html2113
-rw-r--r--[email protected]_master/report-b238df.html698
-rw-r--r--[email protected]_master/report-c60df6.html487
-rw-r--r--[email protected]_master/report-c94066.html698
-rw-r--r--[email protected]_master/report-ee4caf.html864
-rw-r--r--[email protected]_master/scanview.css62
-rw-r--r--[email protected]_master/sorttable.js492
-rw-r--r--[email protected]_master/0.html610
-rw-r--r--[email protected]_master/1.html3646
-rw-r--r--[email protected]_master/10.html866
-rw-r--r--[email protected]_master/11.html1158
-rw-r--r--[email protected]_master/12.html1920
-rw-r--r--[email protected]_master/14.html970
-rw-r--r--[email protected]_master/16.html1144
-rw-r--r--[email protected]_master/18.html2138
-rw-r--r--[email protected]_master/19.html602
-rw-r--r--[email protected]_master/2.html640
-rw-r--r--[email protected]_master/20.html670
-rw-r--r--[email protected]_master/21.html914
-rw-r--r--[email protected]_master/22.html908
-rw-r--r--[email protected]_master/23.html1330
-rw-r--r--[email protected]_master/24.html942
-rw-r--r--[email protected]_master/25.html2674
-rw-r--r--[email protected]_master/26.html1066
-rw-r--r--[email protected]_master/27.html1078
-rw-r--r--[email protected]_master/28.html1220
-rw-r--r--[email protected]_master/29.html1346
-rw-r--r--[email protected]_master/3.html1188
-rw-r--r--[email protected]_master/30.html1642
-rw-r--r--[email protected]_master/31.html1454
-rw-r--r--[email protected]_master/32.html3750
-rw-r--r--[email protected]_master/33.html2084
-rw-r--r--[email protected]_master/34.html2260
-rw-r--r--[email protected]_master/35.html1462
-rw-r--r--[email protected]_master/36.html1300
-rw-r--r--[email protected]_master/37.html870
-rw-r--r--[email protected]_master/38.html936
-rw-r--r--[email protected]_master/39.html530
-rw-r--r--[email protected]_master/4.html1030
-rw-r--r--[email protected]_master/5.html2650
-rw-r--r--[email protected]_master/6.html1254
-rw-r--r--[email protected]_master/7.html606
-rw-r--r--[email protected]_master/8.html1848
-rw-r--r--[email protected]_master/9.html1330
-rw-r--r--[email protected]_master/index.html298
-rw-r--r--[email protected]_master/stats.html131
-rw-r--r--[email protected]_master/style.css137
-rw-r--r--[email protected]_master/index.html122
-rw-r--r--[email protected]_master/report-1405fa.html698
-rw-r--r--[email protected]_master/report-1517bd.html698
-rw-r--r--[email protected]_master/report-3aca60.html2113
-rw-r--r--[email protected]_master/report-6cb2b8.html843
-rw-r--r--[email protected]_master/report-917f8a.html487
-rw-r--r--[email protected]_master/report-a61635.html698
-rw-r--r--[email protected]_master/report-d0d526.html864
-rw-r--r--[email protected]_master/report-ee69d5.html698
-rw-r--r--[email protected]_master/scanview.css62
-rw-r--r--[email protected]_master/sorttable.js492
-rw-r--r--[email protected]_master/0.html610
-rw-r--r--[email protected]_master/1.html3646
-rw-r--r--[email protected]_master/10.html866
-rw-r--r--[email protected]_master/11.html1158
-rw-r--r--[email protected]_master/12.html1920
-rw-r--r--[email protected]_master/14.html970
-rw-r--r--[email protected]_master/16.html1144
-rw-r--r--[email protected]_master/18.html2138
-rw-r--r--[email protected]_master/19.html602
-rw-r--r--[email protected]_master/2.html640
-rw-r--r--[email protected]_master/20.html670
-rw-r--r--[email protected]_master/21.html914
-rw-r--r--[email protected]_master/22.html908
-rw-r--r--[email protected]_master/23.html1330
-rw-r--r--[email protected]_master/24.html942
-rw-r--r--[email protected]_master/25.html2674
-rw-r--r--[email protected]_master/26.html1066
-rw-r--r--[email protected]_master/27.html1078
-rw-r--r--[email protected]_master/28.html1220
-rw-r--r--[email protected]_master/29.html1346
-rw-r--r--[email protected]_master/3.html1188
-rw-r--r--[email protected]_master/30.html1642
-rw-r--r--[email protected]_master/31.html1454
-rw-r--r--[email protected]_master/32.html3750
-rw-r--r--[email protected]_master/33.html2084
-rw-r--r--[email protected]_master/34.html2260
-rw-r--r--[email protected]_master/35.html1462
-rw-r--r--[email protected]_master/36.html1300
-rw-r--r--[email protected]_master/37.html870
-rw-r--r--[email protected]_master/38.html936
-rw-r--r--[email protected]_master/39.html530
-rw-r--r--[email protected]_master/4.html1030
-rw-r--r--[email protected]_master/5.html2650
-rw-r--r--[email protected]_master/6.html1254
-rw-r--r--[email protected]_master/7.html606
-rw-r--r--[email protected]_master/8.html1848
-rw-r--r--[email protected]_master/9.html1330
-rw-r--r--[email protected]_master/index.html298
-rw-r--r--[email protected]_master/stats.html131
-rw-r--r--[email protected]_master/style.css137
-rw-r--r--[email protected]_charpick-code-style/index.html122
-rw-r--r--[email protected]_charpick-code-style/report-3a435a.html698
-rw-r--r--[email protected]_charpick-code-style/report-4e13fd.html698
-rw-r--r--[email protected]_charpick-code-style/report-69ef93.html2113
-rw-r--r--[email protected]_charpick-code-style/report-6ad9d7.html864
-rw-r--r--[email protected]_charpick-code-style/report-72c4f8.html698
-rw-r--r--[email protected]_charpick-code-style/report-c48c0f.html487
-rw-r--r--[email protected]_charpick-code-style/report-ca811a.html843
-rw-r--r--[email protected]_charpick-code-style/report-f13343.html698
-rw-r--r--[email protected]_charpick-code-style/scanview.css62
-rw-r--r--[email protected]_charpick-code-style/sorttable.js492
-rw-r--r--[email protected]_charpick-code-style/0.html610
-rw-r--r--[email protected]_charpick-code-style/1.html3646
-rw-r--r--[email protected]_charpick-code-style/10.html866
-rw-r--r--[email protected]_charpick-code-style/11.html1158
-rw-r--r--[email protected]_charpick-code-style/12.html1920
-rw-r--r--[email protected]_charpick-code-style/14.html970
-rw-r--r--[email protected]_charpick-code-style/16.html1144
-rw-r--r--[email protected]_charpick-code-style/18.html2138
-rw-r--r--[email protected]_charpick-code-style/19.html602
-rw-r--r--[email protected]_charpick-code-style/2.html640
-rw-r--r--[email protected]_charpick-code-style/20.html670
-rw-r--r--[email protected]_charpick-code-style/21.html914
-rw-r--r--[email protected]_charpick-code-style/22.html908
-rw-r--r--[email protected]_charpick-code-style/23.html1330
-rw-r--r--[email protected]_charpick-code-style/24.html942
-rw-r--r--[email protected]_charpick-code-style/25.html2674
-rw-r--r--[email protected]_charpick-code-style/26.html1066
-rw-r--r--[email protected]_charpick-code-style/27.html1078
-rw-r--r--[email protected]_charpick-code-style/28.html1220
-rw-r--r--[email protected]_charpick-code-style/29.html1346
-rw-r--r--[email protected]_charpick-code-style/3.html1188
-rw-r--r--[email protected]_charpick-code-style/30.html1642
-rw-r--r--[email protected]_charpick-code-style/31.html1454
-rw-r--r--[email protected]_charpick-code-style/32.html3750
-rw-r--r--[email protected]_charpick-code-style/33.html2084
-rw-r--r--[email protected]_charpick-code-style/34.html2260
-rw-r--r--[email protected]_charpick-code-style/35.html1462
-rw-r--r--[email protected]_charpick-code-style/36.html1300
-rw-r--r--[email protected]_charpick-code-style/37.html870
-rw-r--r--[email protected]_charpick-code-style/38.html936
-rw-r--r--[email protected]_charpick-code-style/39.html530
-rw-r--r--[email protected]_charpick-code-style/4.html1030
-rw-r--r--[email protected]_charpick-code-style/5.html2650
-rw-r--r--[email protected]_charpick-code-style/6.html1254
-rw-r--r--[email protected]_charpick-code-style/7.html606
-rw-r--r--[email protected]_charpick-code-style/8.html2036
-rw-r--r--[email protected]_charpick-code-style/9.html1662
-rw-r--r--[email protected]_charpick-code-style/index.html298
-rw-r--r--[email protected]_charpick-code-style/stats.html131
-rw-r--r--[email protected]_charpick-code-style/style.css137
-rw-r--r--CNAME1
-rw-r--r--index.html51
512 files changed, 604018 insertions, 0 deletions
diff --git a/[email protected]_master/index.html b/[email protected]_master/index.html
new file mode 100644
index 00000000..f447117d
--- /dev/null
+++ b/[email protected]_master/index.html
@@ -0,0 +1,122 @@
+<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>[email protected]</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 10.0.0 (Fedora 10.0.0-2.fc32)
+</td></tr>
+<tr><th>Date:</th><td>Mon Aug 31 22:01:44 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">8</td><td><center><input type="checkbox" id="AllBugsCheck" onClick="CopyCheckedStateToCheckButtons(this);" checked/></center></td></tr>
+<tr><th>Dead store</th><th colspan=2></th></tr>
+<tr><td class="SUMM_DESC">Dead assignment</td><td class="Q">2</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_dead_store_dead_assignment');" checked/></center></td></tr>
+<tr><th>Logic error</th><th colspan=2></th></tr>
+<tr><td class="SUMM_DESC">Division by zero</td><td class="Q">1</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_logic_error_division_by_zero');" checked/></center></td></tr>
+<tr><td class="SUMM_DESC">Out-of-bound access</td><td class="Q">1</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_logic_error_out-of-bound_access');" checked/></center></td></tr>
+<tr><td class="SUMM_DESC">Result of operation is garbage or undefined</td><td class="Q">1</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_logic_error_result_of_operation_is_garbage_or_undefined');" 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 'strcat'</td><td class="Q">1</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcat_');" checked/></center></td></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_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>geyes/src/themes.c</td><td class="DESC">parse_theme_file</td><td class="Q">90</td><td class="Q">1</td><td><a href="report-037c83.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-037c83.html" -->
+</tr>
+<tr class="bt_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>geyes/src/themes.c</td><td class="DESC">parse_theme_file</td><td class="Q">82</td><td class="Q">1</td><td><a href="report-d8e0bd.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-d8e0bd.html" -->
+</tr>
+<tr class="bt_logic_error_division_by_zero"><td class="DESC">Logic error</td><td class="DESC">Division by zero</td><td>multiload/load-graph.c</td><td class="DESC">load_graph_draw</td><td class="Q">130</td><td class="Q">18</td><td><a href="report-eaae3d.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-eaae3d.html" -->
+</tr>
+<tr class="bt_logic_error_out-of-bound_access"><td class="DESC">Logic error</td><td class="DESC">Out-of-bound access</td><td>netspeed/src/netspeed.c</td><td class="DESC">mac_addr_n2a</td><td class="Q">654</td><td class="Q">25</td><td><a href="report-41b252.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-41b252.html" -->
+</tr>
+<tr class="bt_security_potential_insecure_memory_buffer_bounds_restriction_in_call_strcat_"><td class="DESC">Security</td><td class="DESC">Potential insecure memory buffer bounds restriction in call 'strcat'</td><td>geyes/src/themes.c</td><td class="DESC">properties_cb</td><td class="Q">304</td><td class="Q">1</td><td><a href="report-75ce3c.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-75ce3c.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>battstat/apmlib/apmlib.c</td><td class="DESC">apm_read</td><td class="Q">88</td><td class="Q">1</td><td><a href="report-2aa365.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-2aa365.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>geyes/src/themes.c</td><td class="DESC">properties_cb</td><td class="Q">302</td><td class="Q">1</td><td><a href="report-3551d2.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-3551d2.html" -->
+</tr>
+<tr class="bt_logic_error_result_of_operation_is_garbage_or_undefined"><td class="DESC">Logic error</td><td class="DESC">Result of operation is garbage or undefined</td><td>cpufreq/src/cpufreq-monitor-cpuinfo.c</td><td class="DESC">cpufreq_monitor_cpuinfo_run</td><td class="Q">120</td><td class="Q">5</td><td><a href="report-8166a5.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-8166a5.html" -->
+</tr>
+</tbody>
+</table>
+
+</body></html>
diff --git a/[email protected]_master/report-037c83.html b/[email protected]_master/report-037c83.html
new file mode 100644
index 00000000..3b14ed55
--- /dev/null
+++ b/[email protected]_master/report-037c83.html
@@ -0,0 +1,698 @@
+<!doctype html>
+<html>
+<head>
+<title>themes.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 Value stored to 'token' is never read -->
+
+<!-- BUGTYPE Dead assignment -->
+
+<!-- BUGCATEGORY Dead store -->
+
+<!-- BUGFILE /rootdir/geyes/src/themes.c -->
+
+<!-- FILENAME themes.c -->
+
+<!-- FUNCTIONNAME parse_theme_file -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 93377a3ac11d47bc8ab9ea194e91b273 -->
+
+<!-- BUGLINE 90 -->
+
+<!-- BUGCOLUMN 25 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>geyes/src/themes.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 90, column 25</a><br />Value stored to 'token' is never read</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 themes.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 -setup-static-analyzer -mrelocation-model static -mthread-model posix -mframe-pointer=none -fmath-errno -fno-rounding-math -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -dwarf-column-info -fno-split-dwarf-inlining -debugger-tuning=gdb -resource-dir /usr/lib64/clang/10.0.0 -D HAVE_CONFIG_H -I . -I ../.. -I . -I . -I /usr/include/mate-panel-4.0/libmate-panel-applet -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/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/local/include -D GEYES_THEMES_DIR="/usr/local/share/mate-applets/geyes/" -D GEYES_RESOURCE_PATH="/org/mate/mate-applets/eyes/" -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/geyes/src -ferror-limit 19 -fmessage-length 0 -fgnuc-version=4.2.1 -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-08-31-220144-7303-1 -x c themes.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": {"90": 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'>* Copyright (C) 1999 Dave Camp &lt;[email protected]&gt;</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'>* This program is free software; you can redistribute it and/or modify</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* it under the terms of the GNU General Public License as published by</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* the Free Software Foundation; either version 2 of the License, or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</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="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* GNU General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* along with this program; if not, write to the Free Software</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"><span class='directive'>#include &lt;dirent.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"><span class='directive'>#include &lt;limits.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#include &lt;ctype.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#include "geyes.h"</span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#define <span class='macro'>GET_WIDGET(x)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, (x)))), ((gtk_widget_get_type<br> ())))))))</span></span> (<span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder, (x)))<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(gtk_builder_get_object (builder, (x)))), ((gtk_widget_get_type<br> ()))))))</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#define <span class='macro'>NUM_THEME_DIRECTORIES<span class='macro_popup'>2</span></span> 2</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='keyword'>static</span> <span class='keyword'>char</span> *theme_directories[<span class='macro'>NUM_THEME_DIRECTORIES<span class='macro_popup'>2</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"> COL_THEME_DIR = 0,</td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> COL_THEME_NAME,</td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> TOTAL_COLS</td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line">};</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='keyword'>void</span> theme_dirs_create (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"> <span class='keyword'>static</span> gboolean themes_created = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"> <span class='keyword'>if</span> (themes_created == <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"> <span class='keyword'>return</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"> theme_directories[0] = g_build_filename(<span class='macro'>GEYES_THEMES_DIR<span class='macro_popup'>"/usr/local/share/mate-applets/geyes/"</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"> theme_directories[1] = g_build_filename(g_get_user_config_dir(), <span class='string_literal'>"mate"</span>, <span class='string_literal'>"geyes-themes"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"> themes_created = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line">}</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></td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line">parse_theme_file (EyesApplet *eyes_applet, FILE *theme_file)</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"> gchar line_buf [512]; <span class='comment'>/* prolly overkill */</span></td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> gchar *token;</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> <span class='keyword'>if</span> (fgets (line_buf, 512, theme_file) == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> printf(<span class='string_literal'>"fgets error\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> <span class='keyword'>while</span> (!feof (theme_file)) {</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> token = strtok (line_buf, <span class='string_literal'>"="</span>);</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> <span class='keyword'>if</span> (strncmp (token, <span class='string_literal'>"wall-thickness"</span>,</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> strlen (<span class='string_literal'>"wall-thickness"</span>)) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> token += strlen (<span class='string_literal'>"wall-thickness"</span>);</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> <span class='keyword'>while</span> (!<span class='macro'>isdigit (*token)<span class='macro_popup'>((*__ctype_b_loc ())[(int) ((*token))] &amp; (unsigned short int<br>) _ISdigit)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> token++;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> sscanf (token, <span class='string_literal'>"%d"</span>, &amp;eyes_applet-&gt;wall_thickness);</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strncmp (token, <span class='string_literal'>"num-eyes"</span>, strlen (<span class='string_literal'>"num-eyes"</span>)) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> token += strlen (<span class='string_literal'>"num-eyes"</span>);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> <span class='keyword'>while</span> (!<span class='macro'>isdigit (*token)<span class='macro_popup'>((*__ctype_b_loc ())[(int) ((*token))] &amp; (unsigned short int<br>) _ISdigit)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> token++;</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> sscanf (token, <span class='string_literal'>"%d"</span>, &amp;eyes_applet-&gt;num_eyes);</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> <span class='keyword'>if</span> (eyes_applet-&gt;num_eyes &gt; <span class='macro'>MAX_EYES<span class='macro_popup'>1000</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> eyes_applet-&gt;num_eyes = <span class='macro'>MAX_EYES<span class='macro_popup'>1000</span></span>;</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> (strncmp (token, <span class='string_literal'>"eye-pixmap"</span>, strlen (<span class='string_literal'>"eye-pixmap"</span>)) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> token = strtok (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='string_literal'>"\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> token = strtok (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='string_literal'>"\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> <span class='keyword'>if</span> (eyes_applet-&gt;eye_filename != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> g_free (eyes_applet-&gt;eye_filename);</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> eyes_applet-&gt;eye_filename = g_strdup_printf (<span class='string_literal'>"%s%s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> eyes_applet-&gt;theme_dir,</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> token);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strncmp (token, <span class='string_literal'>"pupil-pixmap"</span>, strlen (<span class='string_literal'>"pupil-pixmap"</span>)) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> token = <span class="mrange">strtok (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='string_literal'>"\""</span>)</span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:25ex">Value stored to 'token' is never read</div></td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> token = strtok (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='string_literal'>"\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> <span class='keyword'>if</span> (eyes_applet-&gt;pupil_filename != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> g_free (eyes_applet-&gt;pupil_filename);</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> eyes_applet-&gt;pupil_filename</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> = g_strdup_printf (<span class='string_literal'>"%s%s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> eyes_applet-&gt;theme_dir,</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> token);</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> <span class='keyword'>if</span> (fgets (line_buf, 512, theme_file) == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> printf(<span class='string_literal'>"fgets error\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line">load_theme (EyesApplet *eyes_applet, <span class='keyword'>const</span> gchar *theme_dir)</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> GtkWidget *dialog;</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"> FILE* theme_file;</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> gchar *file_name;</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"> eyes_applet-&gt;theme_dir = g_strdup_printf (<span class='string_literal'>"%s/"</span>, theme_dir);</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> file_name = g_strdup_printf(<span class='string_literal'>"%s%s"</span>,theme_dir,<span class='string_literal'>"/config"</span>);</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> theme_file = fopen (file_name, <span class='string_literal'>"r"</span>);</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> g_free (file_name);</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> <span class='keyword'>if</span> (theme_file == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> g_free (eyes_applet-&gt;theme_dir);</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> eyes_applet-&gt;theme_dir = g_strdup_printf (<span class='macro'>GEYES_THEMES_DIR<span class='macro_popup'>"/usr/local/share/mate-applets/geyes/"</span></span> <span class='string_literal'>"Default-tiny/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> theme_file = fopen (<span class='macro'>GEYES_THEMES_DIR<span class='macro_popup'>"/usr/local/share/mate-applets/geyes/"</span></span> <span class='string_literal'>"Default-tiny/config"</span>, <span class='string_literal'>"r"</span>);</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> }</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"> <span class='comment'>/* if it's still NULL we've got a major problem */</span></td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>if</span> (theme_file == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> dialog = gtk_message_dialog_new_with_markup (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> GTK_DIALOG_DESTROY_WITH_PARENT,</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> GTK_MESSAGE_ERROR,</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> GTK_BUTTONS_OK,</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='string_literal'>"&lt;b&gt;%s&lt;/b&gt;\n\n%s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"Can not launch the eyes applet."</span>)<span class='macro_popup'>dcgettext (((void*)0), "Can not launch the eyes applet.", 5)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"There was a fatal error while trying to load the theme."</span>)<span class='macro_popup'>dcgettext (((void*)0), "There was a fatal error while trying to load the theme."<br>, 5)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> gtk_widget_destroy (dialog);</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (eyes_applet-&gt;applet)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(eyes_applet-&gt;applet)), ((gtk_widget_get_type ()))))))</span></span>);</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"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> parse_theme_file (eyes_applet, theme_file);</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> fclose (theme_file);</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"> eyes_applet-&gt;theme_name = g_strdup (theme_dir);</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> <span class='keyword'>if</span> (eyes_applet-&gt;eye_image)</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> g_object_unref (eyes_applet-&gt;eye_image);</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> eyes_applet-&gt;eye_image = gdk_pixbuf_new_from_file (eyes_applet-&gt;eye_filename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> <span class='keyword'>if</span> (eyes_applet-&gt;pupil_image)</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> g_object_unref (eyes_applet-&gt;pupil_image);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> eyes_applet-&gt;pupil_image = gdk_pixbuf_new_from_file (eyes_applet-&gt;pupil_filename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> eyes_applet-&gt;eye_height = gdk_pixbuf_get_height (eyes_applet-&gt;eye_image);</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> eyes_applet-&gt;eye_width = gdk_pixbuf_get_width (eyes_applet-&gt;eye_image);</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> eyes_applet-&gt;pupil_height = gdk_pixbuf_get_height (eyes_applet-&gt;pupil_image);</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> eyes_applet-&gt;pupil_width = gdk_pixbuf_get_width (eyes_applet-&gt;pupil_image);</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line">destroy_theme (EyesApplet *eyes_applet)</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> <span class='comment'>/* Dunno about this - to unref or not to unref? */</span></td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>if</span> (eyes_applet-&gt;eye_image != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> g_object_unref (eyes_applet-&gt;eye_image);</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> eyes_applet-&gt;eye_image = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> <span class='keyword'>if</span> (eyes_applet-&gt;pupil_image != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> g_object_unref (eyes_applet-&gt;pupil_image);</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> eyes_applet-&gt;pupil_image = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> }</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"> g_free (eyes_applet-&gt;theme_dir);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> g_free (eyes_applet-&gt;theme_name);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line">}</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'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line">theme_selected_cb (GtkTreeSelection *selection, gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> EyesApplet *eyes_applet = data;</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> GtkTreeModel *model;</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> GtkTreeIter iter;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> gchar *theme;</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> gchar *theme_dir;</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> <span class='keyword'>if</span> (!gtk_tree_selection_get_selected (selection, &amp;model, &amp;iter))</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> gtk_tree_model_get (model, &amp;iter, COL_THEME_DIR, &amp;theme, -1);</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"> <span class='macro'>g_return_if_fail (theme)<span class='macro_popup'>do { if ((__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (theme) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_<br>; }), 1))) { } else { g_return_if_fail_warning (((gchar*) 0),<br> ((const char*) (__func__)), "theme"); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> theme_dir = g_strdup_printf (<span class='string_literal'>"%s/"</span>, theme);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>if</span> (!g_ascii_strncasecmp (theme_dir, eyes_applet-&gt;theme_dir, strlen (theme_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> g_free (theme_dir);</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> g_free (theme_dir);</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> destroy_eyes (eyes_applet);</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> destroy_theme (eyes_applet);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> load_theme (eyes_applet, theme);</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> setup_eyes (eyes_applet);</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"> g_settings_set_string (</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> eyes_applet-&gt;settings, <span class='string_literal'>"theme-path"</span>, theme);</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> g_free (theme);</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line">}</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"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line">phelp_cb (GtkDialog *dialog)</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"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> gtk_show_uri_on_window (<span class='macro'>GTK_WINDOW (dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(dialog)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> <span class='string_literal'>"help:mate-geyes/geyes-settings"</span>,</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> gtk_get_current_event_time (),</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> &amp;error);</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"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> GtkWidget *error_dialog = gtk_message_dialog_new (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"There was an error displaying help: %s"</span>)<span class='macro_popup'>dcgettext (((void*)0), "There was an error displaying help: %s"<br>, 5)</span></span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='macro'>g_signal_connect (G_OBJECT (error_dialog), <span class='string_literal'>"response"</span>, G_CALLBACK (gtk_widget_destroy) , NULL)<span class='macro_popup'>g_signal_connect_data ((((((GObject*) g_type_check_instance_cast<br> ((GTypeInstance*) ((error_dialog)), (((GType) ((20) &lt;&lt;<br> (2))))))))), ("response"), (((GCallback) (gtk_widget_destroy<br>))), (((void*)0)), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> gtk_window_set_resizable (<span class='macro'>GTK_WINDOW (error_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(error_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (error_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(error_dialog)), ((gtk_window_get_type ()))))))</span></span>, gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(dialog)), ((gtk_widget_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> gtk_widget_show (error_dialog);</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> }</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'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line">presponse_cb (GtkDialog *dialog, gint id, gpointer data)</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"> EyesApplet *eyes_applet = data;</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> <span class='keyword'>if</span>(id == GTK_RESPONSE_HELP){</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> phelp_cb (dialog);</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> </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"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(dialog)), ((gtk_widget_get_type ()))))))</span></span>);</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"> eyes_applet-&gt;prop_box.pbox = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">properties_cb (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> EyesApplet *eyes_applet)</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> GtkBuilder *builder;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> GtkWidget *tree;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> GtkWidget *label;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> GtkListStore *model;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> GtkTreeViewColumn *column;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> GtkCellRenderer *cell;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> GtkTreeIter iter;</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> DIR *dfd;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='keyword'>struct</span> dirent *dp;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"><span class='directive'>#ifdef <span class='macro'>PATH_MAX<span class='macro_popup'>4096</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> gchar filename [<span class='macro'>PATH_MAX<span class='macro_popup'>4096</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> gchar *filename;</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> <span class='keyword'>if</span> (eyes_applet-&gt;prop_box.pbox) {</td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> gtk_window_set_screen (</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> <span class='macro'>GTK_WINDOW (eyes_applet-&gt;prop_box.pbox)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(eyes_applet-&gt;prop_box.pbox)), ((gtk_window_get_type ())))<br>)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (eyes_applet-&gt;applet)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(eyes_applet-&gt;applet)), ((gtk_widget_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> gtk_window_present (<span class='macro'>GTK_WINDOW (eyes_applet-&gt;prop_box.pbox)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(eyes_applet-&gt;prop_box.pbox)), ((gtk_window_get_type ())))<br>)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> }</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"> builder = gtk_builder_new_from_resource (<span class='macro'>GEYES_RESOURCE_PATH<span class='macro_popup'>"/org/mate/mate-applets/eyes/"</span></span> <span class='string_literal'>"themes.ui"</span>);</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> eyes_applet-&gt;prop_box.pbox = <span class='macro'>GET_WIDGET (<span class='string_literal'>"preferences_dialog"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("preferences_dialog"))))<br>, ((gtk_widget_get_type ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> tree = <span class='macro'>GET_WIDGET (<span class='string_literal'>"themes_treeview"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("themes_treeview")))), (<br>(gtk_widget_get_type ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> label = <span class='macro'>GET_WIDGET (<span class='string_literal'>"select_theme_label"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("select_theme_label"))))<br>, ((gtk_widget_get_type ())))))))</span></span>;</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"> model = gtk_list_store_new (TOTAL_COLS, <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>, <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> gtk_tree_view_set_model (<span class='macro'>GTK_TREE_VIEW (tree)<span class='macro_popup'>((((GtkTreeView*) g_type_check_instance_cast ((GTypeInstance*<br>) ((tree)), ((gtk_tree_view_get_type ()))))))</span></span>, <span class='macro'>GTK_TREE_MODEL (model)<span class='macro_popup'>((((GtkTreeModel*) g_type_check_instance_cast ((GTypeInstance<br>*) ((model)), ((gtk_tree_model_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> cell = gtk_cell_renderer_text_new ();</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> column = gtk_tree_view_column_new_with_attributes (<span class='string_literal'>"not used"</span>, cell,</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> <span class='string_literal'>"text"</span>, COL_THEME_NAME, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> gtk_tree_view_append_column (<span class='macro'>GTK_TREE_VIEW (tree)<span class='macro_popup'>((((GtkTreeView*) g_type_check_instance_cast ((GTypeInstance*<br>) ((tree)), ((gtk_tree_view_get_type ()))))))</span></span>, column);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> <span class='keyword'>if</span> ( ! g_settings_is_writable (eyes_applet-&gt;settings, <span class='string_literal'>"theme-path"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> gtk_widget_set_sensitive (tree, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> gtk_widget_set_sensitive (label, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>NUM_THEME_DIRECTORIES<span class='macro_popup'>2</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> <span class='keyword'>if</span> ((dfd = opendir (theme_directories[i])) != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> <span class='keyword'>while</span> ((dp = readdir (dfd)) != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> <span class='keyword'>if</span> (dp-&gt;d_name[0] != '.') {</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> gchar *theme_dir;</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> gchar *theme_name;</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"><span class='directive'>#ifdef <span class='macro'>PATH_MAX<span class='macro_popup'>4096</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> strcpy (filename,</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> theme_directories[i]);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> strcat (filename, dp-&gt;d_name);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> asprintf (&amp;filename, theme_directories[i], dp-&gt;d_name);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> theme_dir = g_strdup_printf (<span class='string_literal'>"%s/"</span>, filename);</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> theme_name = g_path_get_basename (filename);</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> gtk_list_store_append (model, &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> gtk_list_store_set (model, &amp;iter,</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> COL_THEME_DIR, &amp;filename,</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> COL_THEME_NAME, theme_name,</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> -1);</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> <span class='keyword'>if</span> (!g_ascii_strncasecmp (eyes_applet-&gt;theme_dir, theme_dir, strlen (theme_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> GtkTreePath *path;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> path = gtk_tree_model_get_path (<span class='macro'>GTK_TREE_MODEL (model)<span class='macro_popup'>((((GtkTreeModel*) g_type_check_instance_cast ((GTypeInstance<br>*) ((model)), ((gtk_tree_model_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> gtk_tree_view_set_cursor (<span class='macro'>GTK_TREE_VIEW (tree)<span class='macro_popup'>((((GtkTreeView*) g_type_check_instance_cast ((GTypeInstance*<br>) ((tree)), ((gtk_tree_view_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> path,</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> gtk_tree_path_free (path);</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> g_free (theme_name);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> g_free (theme_dir);</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> closedir (dfd);</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"> }</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"><span class='directive'>#ifndef <span class='macro'>PATH_MAX<span class='macro_popup'>4096</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> g_free (filename);</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> g_object_unref (model);</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> <span class='comment'>/* signals */</span></td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> gtk_builder_add_callback_symbols (builder,</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> <span class='string_literal'>"on_preferences_dialog_response"</span>, <span class='macro'>G_CALLBACK (presponse_cb)<span class='macro_popup'>((GCallback) (presponse_cb))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='string_literal'>"on_themes_treeselection_changed"</span>, <span class='macro'>G_CALLBACK (theme_selected_cb)<span class='macro_popup'>((GCallback) (theme_selected_cb))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> gtk_builder_connect_signals (builder, eyes_applet);</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> g_object_unref (builder);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> gtk_widget_show_all (eyes_applet-&gt;prop_box.pbox);</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/[email protected]_master/report-2aa365.html b/[email protected]_master/report-2aa365.html
new file mode 100644
index 00000000..94085e3a
--- /dev/null
+++ b/[email protected]_master/report-2aa365.html
@@ -0,0 +1,830 @@
+<!doctype html>
+<html>
+<head>
+<title>apmlib.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/battstat/apmlib/apmlib.c -->
+
+<!-- FILENAME apmlib.c -->
+
+<!-- FUNCTIONNAME apm_read -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT b9925c3c312d4a2d5f35a4a59b66c4fe -->
+
+<!-- BUGLINE 88 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>battstat/apmlib/apmlib.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 88, 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 apmlib.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 -setup-static-analyzer -mrelocation-model static -mthread-model posix -mframe-pointer=none -fmath-errno -fno-rounding-math -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -dwarf-column-info -fno-split-dwarf-inlining -debugger-tuning=gdb -resource-dir /usr/lib64/clang/10.0.0 -D HAVE_CONFIG_H -I . -I ../.. -I ../.. -I ../../apmlib -D G_LOG_DOMAIN="battstat_applet" -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -fdebug-compilation-dir /rootdir/battstat/apmlib -ferror-limit 19 -fmessage-length 0 -fgnuc-version=4.2.1 -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-08-31-220144-7303-1 -x c apmlib.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": {"88": 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'>/* apmlib.c -- Sample APM interface routines</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>* Created: Mon Jan 8 10:28:16 1996 by [email protected]</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>* Revised: Fri Dec 26 21:38:29 1997 by [email protected]</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright 1996, 1997 Rickard E. Faith ([email protected])</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 modify it</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* under the terms of the GNU Library General Public License as published</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* by the Free Software Foundation; either version 2 of the License, or (at</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* 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, but</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* 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 Library 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 Software</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* 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'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"><span class='directive'>#include &lt;stdio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"><span class='directive'>#include &lt;unistd.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#include &lt;ctype.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#include &lt;sys/stat.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;sys/time.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#include &lt;sys/ioctl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;sys/types.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;sys/sysmacros.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include "apm.h"</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#define <span class='macro'>BACKWARD_COMPAT<span class='macro_popup'>1</span></span> 1</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='comment'>/* If APM support of the right version exists in kernel, return zero.</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> <span class='comment'>* Otherwise, return 1 if no support exists, or 2 if it is the wrong</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> <span class='comment'>* version. *NOTE* The sense of the return value is not intuitive.</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"><span class='keyword'>int</span> apm_exists(<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"> apm_info i;</td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"> <span class='keyword'>if</span> (access(<span class='macro'>APM_PROC<span class='macro_popup'>"/proc/apm"</span></span>, <span class='macro'>R_OK<span class='macro_popup'>4</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"> <span class='keyword'>return</span> 1;</td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"> <span class='keyword'>return</span> apm_read(&amp;i);</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"> </td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"><span class='comment'>/* Read information from /proc/apm. Return 0 on success, 1 if APM not</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> <span class='comment'>* installed, 2 if APM installed, but old version.</span> </td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='keyword'>int</span> apm_read(apm_info * i)</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"> FILE *str;</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> <span class='keyword'>char</span> units[10];</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> <span class='keyword'>char</span> buffer[100];</td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"> <span class='keyword'>int</span> retcode = 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'>if</span> (!(str = fopen(<span class='macro'>APM_PROC<span class='macro_popup'>"/proc/apm"</span></span>, <span class='string_literal'>"r"</span>)))</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> <span class='keyword'>return</span> 1;</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> <span class='keyword'>if</span> (fgets(buffer, <span class='keyword'>sizeof</span>(buffer) - 1, str) == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> printf(<span class='string_literal'>"fgets error\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> buffer[<span class='keyword'>sizeof</span>(buffer) - 1] = '\0';</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> <span class='comment'>/* Should check for other driver versions; driver 1.9 (and some</span></td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> <span class='comment'>* others) uses this format, which doesn't expose # batteries.</span></td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> sscanf(buffer, <span class='string_literal'>"%s %d.%d %hx %hx %hx %hx %d%% %d %s\n"</span>,</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> (<span class='keyword'>char</span> *) i-&gt;driver_version,</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> &amp;i-&gt;apm_version_major,</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> &amp;i-&gt;apm_version_minor,</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> &amp;i-&gt;apm_flags,</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> &amp;i-&gt;ac_line_status,</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> &amp;i-&gt;battery_status,</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> &amp;i-&gt;battery_flags,</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> &amp;i-&gt;battery_percentage,</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> &amp;i-&gt;battery_time,</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> units);</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> i-&gt;using_minutes = !strncmp(units, <span class='string_literal'>"min"</span>, 3) ? 1 : 0;</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> <span class='keyword'>if</span> (i-&gt;driver_version[0] == 'B')</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> { <span class='comment'>/* old style. argh. */</span></td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"><span class='directive'>#if !<span class='macro'>BACKWARD_COMPAT<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> retcode = 2;</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> <span class="mrange">strcpy</span>((<span class='keyword'>char</span> *) i-&gt;driver_version, <span class='string_literal'>"pre-0.7"</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="89"><td class="num" id="LN89">89</td><td class="line"> i-&gt;apm_version_major = 0;</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> i-&gt;apm_version_minor = 0;</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> i-&gt;apm_flags = 0;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> i-&gt;ac_line_status = 0xff;</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> i-&gt;battery_status = 0xff;</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> i-&gt;battery_flags = 0xff;</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> i-&gt;battery_percentage = -1;</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> i-&gt;battery_time = -1;</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> i-&gt;using_minutes = 1;</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> sscanf(buffer, <span class='string_literal'>"BIOS version: %d.%d"</span>,</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> &amp;i-&gt;apm_version_major, &amp;i-&gt;apm_version_minor);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> <span class='keyword'>if</span> (fgets(buffer, <span class='keyword'>sizeof</span>(buffer) - 1, str) == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> printf(<span class='string_literal'>"fgets error\n"</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"> sscanf(buffer, <span class='string_literal'>"Flags: 0x%02hx"</span>, &amp;i-&gt;apm_flags);</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>if</span> (i-&gt;apm_flags &amp; <span class='macro'>APM_32_BIT_SUPPORT<span class='macro_popup'>0x0002</span></span>)</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"> <span class='keyword'>if</span> (fgets(buffer, <span class='keyword'>sizeof</span>(buffer) - 1, str) == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> printf(<span class='string_literal'>"fgets error\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> <span class='keyword'>if</span> (fgets(buffer, <span class='keyword'>sizeof</span>(buffer) - 1, str) == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> printf(<span class='string_literal'>"fgets error\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='keyword'>if</span> (buffer[0] != 'P')</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> <span class='keyword'>if</span> (!strncmp(buffer + 4, <span class='string_literal'>"off line"</span>, 8))</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> i-&gt;ac_line_status = 0;</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (!strncmp(buffer + 4, <span class='string_literal'>"on line"</span>, 7))</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> i-&gt;ac_line_status = 1;</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (!strncmp(buffer + 4, <span class='string_literal'>"on back"</span>, 7))</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> i-&gt;ac_line_status = 2;</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"> <span class='keyword'>if</span> (fgets(buffer, <span class='keyword'>sizeof</span>(buffer) - 1, str) == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> printf(<span class='string_literal'>"fgets error\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> <span class='keyword'>if</span> (!strncmp(buffer + 16, <span class='string_literal'>"high"</span>, 4))</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> i-&gt;battery_status = 0;</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (!strncmp(buffer + 16, <span class='string_literal'>"low"</span>, 3))</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> i-&gt;battery_status = 1;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (!strncmp(buffer + 16, <span class='string_literal'>"crit"</span>, 4))</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> i-&gt;battery_status = 2;</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> <span class='keyword'>else</span> <span class='keyword'>if</span> (!strncmp(buffer + 16, <span class='string_literal'>"charg"</span>, 5))</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> i-&gt;battery_status = 3;</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"> <span class='keyword'>if</span> (fgets(buffer, <span class='keyword'>sizeof</span>(buffer) - 1, str) == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> printf(<span class='string_literal'>"fgets error\n"</span>);</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"> <span class='keyword'>if</span> (strncmp(buffer + 14, <span class='string_literal'>"unknown"</span>, 7))</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> i-&gt;battery_percentage = atoi(buffer + 14);</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> <span class='keyword'>if</span> (i-&gt;apm_version_major &gt;= 1 &amp;&amp; i-&gt;apm_version_minor &gt;= 1)</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='keyword'>if</span> (fgets(buffer, <span class='keyword'>sizeof</span>(buffer) - 1, str) == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> printf(<span class='string_literal'>"fgets error\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> sscanf(buffer, <span class='string_literal'>"Battery flag: 0x%02hx"</span>, &amp;i-&gt;battery_flags);</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"> <span class='keyword'>if</span> (fgets(buffer, <span class='keyword'>sizeof</span>(buffer) - 1, str) == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> printf(<span class='string_literal'>"fgets error\n"</span>);</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"> <span class='keyword'>if</span> (strncmp(buffer + 14, <span class='string_literal'>"unknown"</span>, 7))</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> i-&gt;battery_time = atoi(buffer + 14);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> }</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"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> <span class='comment'>/* Fix possible kernel bug -- percentage</span></td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> <span class='comment'>* set to 0xff (==255) instead of -1.</span> </td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> <span class='keyword'>if</span> (i-&gt;battery_percentage &gt; 100)</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> i-&gt;battery_percentage = -1;</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> fclose(str);</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> retcode;</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"> </td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"><span class='comment'>/* Lookup the device number for the apm_bios device. */</span></td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line">dev_t apm_dev(<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> FILE *str;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>int</span> cached = -1;</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> <span class='keyword'>char</span> buf[80];</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> <span class='keyword'>char</span> *pt;</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> apm_info i;</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> (cached &gt;= 0)</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> <span class='keyword'>return</span> cached;</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> <span class='keyword'>if</span> (access(<span class='macro'>APM_PROC<span class='macro_popup'>"/proc/apm"</span></span>, <span class='macro'>R_OK<span class='macro_popup'>4</span></span>) || apm_read(&amp;i) == 1)</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> <span class='keyword'>return</span> cached = -1;</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>if</span> (i.driver_version[0] == '1')</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> <span class='keyword'>return</span> cached = <span class='macro'>makedev(10, 134)<span class='macro_popup'>gnu_dev_makedev (10, 134)</span></span>;</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'>if</span> (!(str = fopen(<span class='macro'>APM_DEV<span class='macro_popup'>"/proc/devices"</span></span>, <span class='string_literal'>"r"</span>)))</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> <span class='keyword'>return</span> -1;</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> <span class='keyword'>while</span> (fgets(buf, <span class='keyword'>sizeof</span>(buf) - 1, str))</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> buf[<span class='keyword'>sizeof</span>(buf) - 1] = '\0';</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> <span class='keyword'>for</span> (pt = buf; *pt &amp;&amp; <span class='macro'>isspace(*pt)<span class='macro_popup'>((*__ctype_b_loc ())[(int) ((*pt))] &amp; (unsigned short int<br>) _ISspace)</span></span>; ++pt); <span class='comment'>/* skip leading spaces */</span></td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> <span class='keyword'>for</span> (; *pt &amp;&amp; !<span class='macro'>isspace(*pt)<span class='macro_popup'>((*__ctype_b_loc ())[(int) ((*pt))] &amp; (unsigned short int<br>) _ISspace)</span></span>; ++pt); <span class='comment'>/* find next space */</span></td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> <span class='keyword'>if</span> (<span class='macro'>isspace(*pt)<span class='macro_popup'>((*__ctype_b_loc ())[(int) ((*pt))] &amp; (unsigned short int<br>) _ISspace)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> *pt++ = '\0';</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> pt[strlen(pt) - 1] = '\0'; <span class='comment'>/* get rid of newline */</span></td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> <span class='keyword'>if</span> (!strcmp(pt, <span class='macro'>APM_NAME<span class='macro_popup'>"apm_bios"</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> fclose(str);</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> <span class='keyword'>return</span> cached = <span class='macro'>makedev(atoi(buf), 0)<span class='macro_popup'>gnu_dev_makedev (atoi(buf), 0)</span></span>;</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"> }</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> fclose(str);</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> <span class='keyword'>return</span> cached = -1;</td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line">}</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"> </td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"><span class='comment'>/* Return a file descriptor for the apm_bios device, or -1 if there is an</span></td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> <span class='comment'>* error. Is this method secure? Should we make the device in /dev</span></td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> <span class='comment'>* instead of /tmp?</span> </td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> <span class='comment'>* apenwarr 2001/05/11: just throw out the weird temporary device file stuff.</span></td></tr>
+<tr class="codeline" data-linenumber="214"><td class="num" id="LN214">214</td><td class="line"> <span class='comment'>* It was only for ancient kernel versions anyway.</span></td></tr>
+<tr class="codeline" data-linenumber="215"><td class="num" id="LN215">215</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"><span class='keyword'>int</span> apm_open(<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> <span class='keyword'>int</span> fd;</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> apm_info i;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> <span class='keyword'>if</span> (access(<span class='macro'>APM_PROC<span class='macro_popup'>"/proc/apm"</span></span>, <span class='macro'>R_OK<span class='macro_popup'>4</span></span>) || apm_read(&amp;i) == 1)</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> <span class='keyword'>return</span> -1;</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> <span class='keyword'>if</span> (i.driver_version[0] &gt;= '1')</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> ((fd = open(<span class='macro'>APM_DEVICE<span class='macro_popup'>"/dev/apm_bios"</span></span>, <span class='macro'>O_RDWR<span class='macro_popup'>02</span></span>)) &lt; 0)</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> <span class='comment'>/* Try to create it. This is reasonable</span></td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> <span class='comment'>* for backward compatibility.</span></td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> <span class='keyword'>if</span> (mknod(<span class='macro'>APM_DEVICE<span class='macro_popup'>"/dev/apm_bios"</span></span>, <span class='macro'>S_IFCHR<span class='macro_popup'>0020000</span></span> | <span class='macro'>S_IRUSR<span class='macro_popup'>0400</span></span> | <span class='macro'>S_IWUSR<span class='macro_popup'>0200</span></span>, apm_dev()))</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> unlink(<span class='macro'>APM_DEVICE<span class='macro_popup'>"/dev/apm_bios"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> <span class='keyword'>return</span> -1;</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> fd = open(<span class='macro'>APM_DEVICE<span class='macro_popup'>"/dev/apm_bios"</span></span>, <span class='macro'>O_RDWR<span class='macro_popup'>02</span></span>);</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"> <span class='keyword'>return</span> fd;</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> <span class='keyword'>return</span> -1;</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line">}</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"> </td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"><span class='comment'>/* Given a file descriptor for the apm_bios device, close it. */</span></td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"><span class='keyword'>int</span> apm_close(<span class='keyword'>int</span> fd)</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> <span class='keyword'>return</span> close(fd);</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line">}</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"><span class='comment'>/* Given a file descriptor for the apm_bios device, this routine will wait</span></td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='comment'>* timeout seconds for APM events. Up to n events will be placed in the</span></td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> <span class='comment'>* events queue. The return code will indicate the number of events</span></td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> <span class='comment'>* stored. Since this routine uses select(2), it will return if an</span></td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> <span class='comment'>* unblocked signal is caught. A timeout &lt; 0 means to block indefinately.</span></td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> <span class='comment'>* Note that if you read a request to standby or to suspend, the kernel</span></td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> <span class='comment'>* will be waiting for you to respond to it with a call to apm_suspend()</span></td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> <span class='comment'>* or to apm_standby() !</span></td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"><span class='keyword'>int</span> apm_get_events(<span class='keyword'>int</span> fd, <span class='keyword'>int</span> timeout, apm_event_t * events, <span class='keyword'>int</span> n)</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"> <span class='keyword'>int</span> retcode;</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> fd_set fds;</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='keyword'>struct</span> timeval t;</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"> t.tv_sec = timeout;</td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> t.tv_usec = 0;</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"> <span class='macro'>FD_ZERO(&amp;fds)<span class='macro_popup'>do { int __d0, __d1; __asm__ __volatile__ ("cld; rep; " "stosq"<br> : "=c" (__d0), "=D" (__d1) : "a" (0), "0" (sizeof (fd_set) /<br> sizeof (__fd_mask)), "1" (&amp;((&amp;fds)-&gt;__fds_bits)[0<br>]) : "memory"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> <span class='macro'>FD_SET(fd, &amp;fds)<span class='macro_popup'>((void) (((&amp;fds)-&gt;__fds_bits)[((fd) / (8 * (int) sizeof<br> (__fd_mask)))] |= ((__fd_mask) (1UL &lt;&lt; ((fd) % (8 * (int<br>) sizeof (__fd_mask)))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> retcode = select(fd + 1, &amp;fds, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, timeout &lt; 0 ? <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> : &amp;t);</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> <span class='keyword'>if</span> (retcode &lt;= 0)</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> <span class='keyword'>return</span> read(fd, events, n * <span class='keyword'>sizeof</span>(apm_event_t)) / <span class='keyword'>sizeof</span>(apm_event_t);</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"> </td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"><span class='comment'>/* Try to set the Power State to Suspend. */</span></td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"><span class='keyword'>int</span> apm_suspend(<span class='keyword'>int</span> fd)</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> sync();</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> <span class='keyword'>return</span> ioctl(fd, <span class='macro'>APM_IOC_SUSPEND<span class='macro_popup'>(((0U) &lt;&lt; (((0 +8)+8)+14)) | ((('A')) &lt;&lt; (0 +8)) |<br> (((2)) &lt;&lt; 0) | ((0) &lt;&lt; ((0 +8)+8)))</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"><span class='comment'>/* Try to set the Power State to Standby. */</span></td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"><span class='keyword'>int</span> apm_standby(<span class='keyword'>int</span> fd)</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> sync();</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> <span class='keyword'>return</span> ioctl(fd, <span class='macro'>APM_IOC_STANDBY<span class='macro_popup'>(((0U) &lt;&lt; (((0 +8)+8)+14)) | ((('A')) &lt;&lt; (0 +8)) |<br> (((1)) &lt;&lt; 0) | ((0) &lt;&lt; ((0 +8)+8)))</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"><span class='comment'>/* Return the last error code generated by the kernel APM driver */</span></td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"><span class='keyword'>unsigned</span> <span class='keyword'>int</span> apm_last_error( <span class='keyword'>int</span> fd )</td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> <span class='keyword'>int</span> err = 0;</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"><span class='directive'>#ifdef APM_IOC_LAST_ERROR</span></td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> <span class='keyword'>int</span> ierr = 0;</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> <span class='keyword'>if</span> ( (ierr = ioctl( fd, APM_IOC_LAST_ERROR, &amp;err)) )</td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> <span class='keyword'>return</span> ierr;</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> <span class='keyword'>return</span> err;</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line"><span class='comment'>/* Define lookup table for error messages */</span></td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span> lookup_t {</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> <span class='keyword'>int</span> key;</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> <span class='keyword'>char</span> * msg;</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line">} lookup_t;</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"><span class='comment'>/* APM error messages, arranged by error code */</span></td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> lookup_t error_table[] = {</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"><span class='comment'>/* N/A { APM_SUCCESS, "Operation succeeded" }, */</span></td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> { <span class='macro'>APM_DISABLED<span class='macro_popup'>0x01</span></span>, <span class='string_literal'>"Power management disabled"</span> },</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> { <span class='macro'>APM_CONNECTED<span class='macro_popup'>0x02</span></span>, <span class='string_literal'>"Real mode interface already connected"</span> },</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> { <span class='macro'>APM_NOT_CONNECTED<span class='macro_popup'>0x03</span></span>, <span class='string_literal'>"Interface not connected"</span> },</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> { <span class='macro'>APM_16_CONNECTED<span class='macro_popup'>0x05</span></span>, <span class='string_literal'>"16 bit interface already connected"</span> },</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"><span class='comment'>/* N/A { APM_16_UNSUPPORTED, "16 bit interface not supported" }, */</span></td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> { <span class='macro'>APM_32_CONNECTED<span class='macro_popup'>0x07</span></span>, <span class='string_literal'>"32 bit interface already connected"</span> },</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> { <span class='macro'>APM_32_UNSUPPORTED<span class='macro_popup'>0x08</span></span>, <span class='string_literal'>"32 bit interface not supported"</span> },</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> { <span class='macro'>APM_BAD_DEVICE<span class='macro_popup'>0x09</span></span>, <span class='string_literal'>"Unrecognized device ID"</span> },</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> { <span class='macro'>APM_BAD_PARAM<span class='macro_popup'>0x0a</span></span>, <span class='string_literal'>"Parameter out of range"</span> },</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> { <span class='macro'>APM_NOT_ENGAGED<span class='macro_popup'>0x0b</span></span>, <span class='string_literal'>"Interface not engaged"</span> },</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"><span class='directive'>#ifdef <span class='macro'>APM_BAD_FUNCTION<span class='macro_popup'>0x0c</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> { <span class='macro'>APM_BAD_FUNCTION<span class='macro_popup'>0x0c</span></span>, <span class='string_literal'>"Function not supported"</span> },</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"><span class='directive'>#ifdef <span class='macro'>APM_RESUME_DISABLED<span class='macro_popup'>0x0d</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> { <span class='macro'>APM_RESUME_DISABLED<span class='macro_popup'>0x0d</span></span>, <span class='string_literal'>"Resume timer disabled"</span> },</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> { <span class='macro'>APM_BAD_STATE<span class='macro_popup'>0x60</span></span>, <span class='string_literal'>"Unable to enter requested state"</span> },</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"><span class='comment'>/* N/A { APM_NO_EVENTS, "No events pending" }, */</span></td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> { <span class='macro'>APM_NOT_PRESENT<span class='macro_popup'>0x86</span></span>, <span class='string_literal'>"No APM present"</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='directive'>#define <span class='macro'>ERROR_COUNT<span class='macro_popup'>(sizeof(error_table)/sizeof(lookup_t))</span></span> (sizeof(error_table)/sizeof(lookup_t))</span></td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"><span class='comment'>/* Return character string describing error messages from APM kernel */</span></td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"><span class='keyword'>const</span> <span class='keyword'>char</span> *apm_error_name( <span class='keyword'>unsigned</span> <span class='keyword'>int</span> err )</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> <span class='keyword'>for</span>(i=0; i&lt;<span class='macro'>ERROR_COUNT<span class='macro_popup'>(sizeof(error_table)/sizeof(lookup_t))</span></span>; i++)</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> <span class='keyword'>if</span>(err == error_table[i].key) <span class='keyword'>return</span>(error_table[i].msg);</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> <span class='keyword'>return</span> <span class='string_literal'>"Unknown error"</span>;</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line">}</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'>int</span> apm_reject( <span class='keyword'>int</span> fd )</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"><span class='directive'>#ifdef APM_IOC_REJECT</span></td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> <span class='keyword'>if</span> ( ioctl( fd, APM_IOC_REJECT, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> ) ) </td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> <span class='keyword'>return</span> apm_last_error( fd );</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line">}</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"><span class='directive'>#ifdef APM_IOC_IGNORE /* detect kernel support of IGNORE/NOIGNORE functions */</span></td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"><span class='keyword'>int</span> apm_set_ignore(<span class='keyword'>int</span> fd, <span class='keyword'>int</span> mode)</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"><span class='comment'>/* Ignore Standby. */</span></td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> <span class='keyword'>if</span> (mode == <span class='macro'>IGNORE<span class='macro_popup'>2</span></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"> printf(<span class='string_literal'>"Telling kernel to ignore system standby/suspend mode\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> <span class='keyword'>return</span> ioctl(fd, APM_IOC_IGNORE, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> printf(<span class='string_literal'>"Telling kernel not to ignore system standby/suspend mode\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> <span class='keyword'>return</span> ioctl(fd, APM_IOC_NOIGNORE, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> printf(<span class='string_literal'>"NOTE: User-generated suspend/standby requests are not ignored\n"</span>);</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='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"><span class='comment'>/* Return a string describing the event. From p. 16 of the Intel/Microsoft</span></td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> <span class='comment'>* Advanded Power Management (APM) BIOS Interface Specification, Revision</span></td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='comment'>* 1.1 (September 1993). Intel Order Number: 241704-001. Microsoft Part</span></td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> <span class='comment'>* Number: 781-110-X01.</span></td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> <span class='comment'>* Updated to APM BIOS 1.2 spec (February 1996). Available on-line.</span></td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"><span class='keyword'>const</span> <span class='keyword'>char</span> *apm_event_name(apm_event_t event)</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"> <span class='keyword'>switch</span> (event)</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>APM_SYS_STANDBY<span class='macro_popup'>0x0001</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> <span class='keyword'>return</span> <span class='string_literal'>"System Standby Request"</span>;</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>APM_SYS_SUSPEND<span class='macro_popup'>0x0002</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> <span class='keyword'>return</span> <span class='string_literal'>"System Suspend Request"</span>;</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>APM_NORMAL_RESUME<span class='macro_popup'>0x0003</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> <span class='keyword'>return</span> <span class='string_literal'>"Normal Resume System"</span>;</td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>APM_CRITICAL_RESUME<span class='macro_popup'>0x0004</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> <span class='keyword'>return</span> <span class='string_literal'>"Critical Resume System"</span>;</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>APM_LOW_BATTERY<span class='macro_popup'>0x0005</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> <span class='keyword'>return</span> <span class='string_literal'>"Battery Low"</span>;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>APM_POWER_STATUS_CHANGE<span class='macro_popup'>0x0006</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> <span class='keyword'>return</span> <span class='string_literal'>"Power Status Change"</span>;</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>APM_UPDATE_TIME<span class='macro_popup'>0x0007</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> <span class='keyword'>return</span> <span class='string_literal'>"Update Time"</span>;</td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>APM_CRITICAL_SUSPEND<span class='macro_popup'>0x0008</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line"> <span class='keyword'>return</span> <span class='string_literal'>"Critical Suspend"</span>;</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>APM_USER_STANDBY<span class='macro_popup'>0x0009</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> <span class='keyword'>return</span> <span class='string_literal'>"User System Standby Request"</span>;</td></tr>
+<tr class="codeline" data-linenumber="406"><td class="num" id="LN406">406</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>APM_USER_SUSPEND<span class='macro_popup'>0x000a</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="407"><td class="num" id="LN407">407</td><td class="line"> <span class='keyword'>return</span> <span class='string_literal'>"User System Suspend Request"</span>;</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>APM_STANDBY_RESUME<span class='macro_popup'>0x000b</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> <span class='keyword'>return</span> <span class='string_literal'>"System Standby Resume"</span>;</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"><span class='directive'>#ifdef <span class='macro'>APM_CAPABILITY_CHANGE<span class='macro_popup'>0x000c</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>APM_CAPABILITY_CHANGE<span class='macro_popup'>0x000c</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> <span class='keyword'>return</span> <span class='string_literal'>"Capability Change"</span>;</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> <span class='keyword'>return</span> <span class='string_literal'>"Unknown"</span>;</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> </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"><span class='comment'>/* This is a convenience function that has nothing to do with APM. It just</span></td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> <span class='comment'>* formats a time nicely. If you don't like this format, then write your</span></td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> <span class='comment'>* own.</span></td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="423"><td class="num" id="LN423">423</td><td class="line"><span class='directive'>#define <span class='macro'>SEC_PER_DAY<span class='macro_popup'>(60*60*24)</span></span> (60*60*24)</span></td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"><span class='directive'>#define <span class='macro'>SEC_PER_HOUR<span class='macro_popup'>(60*60)</span></span> (60*60)</span></td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"><span class='directive'>#define <span class='macro'>SEC_PER_MIN<span class='macro_popup'>(60)</span></span> (60)</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"><span class='keyword'>const</span> <span class='keyword'>char</span> *apm_delta_time(time_t then, time_t now)</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> <span class='keyword'>return</span> apm_time(now - then);</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"><span class='keyword'>const</span> <span class='keyword'>char</span> *apm_time(time_t t)</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>char</span> buffer[128];</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> <span class='keyword'>unsigned</span> <span class='keyword'>long</span> s, m, h, d;</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="437"><td class="num" id="LN437">437</td><td class="line"> d = t / <span class='macro'>SEC_PER_DAY<span class='macro_popup'>(60*60*24)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> t -= d * <span class='macro'>SEC_PER_DAY<span class='macro_popup'>(60*60*24)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> h = t / <span class='macro'>SEC_PER_HOUR<span class='macro_popup'>(60*60)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> t -= h * <span class='macro'>SEC_PER_HOUR<span class='macro_popup'>(60*60)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> m = t / <span class='macro'>SEC_PER_MIN<span class='macro_popup'>(60)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> t -= m * <span class='macro'>SEC_PER_MIN<span class='macro_popup'>(60)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> s = t;</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"> <span class='keyword'>if</span> (d)</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> sprintf(buffer, <span class='string_literal'>"%lu day%s, %02lu:%02lu:%02lu"</span>,</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> d, d &gt; 1 ? <span class='string_literal'>"s"</span> : <span class='string_literal'>""</span>, h, m, s);</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> sprintf(buffer, <span class='string_literal'>"%02lu:%02lu:%02lu"</span>, h, m, s);</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> <span class='keyword'>if</span> (t == -1)</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> sprintf(buffer, <span class='string_literal'>"unknown"</span>);</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> <span class='keyword'>return</span> buffer;</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"> </td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"><span class='keyword'>const</span> <span class='keyword'>char</span> *apm_time_nosec(time_t t)</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> <span class='keyword'>static</span> <span class='keyword'>char</span> buffer[128];</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>unsigned</span> <span class='keyword'>long</span> s, m, h, d;</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> d = t / <span class='macro'>SEC_PER_DAY<span class='macro_popup'>(60*60*24)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> t -= d * <span class='macro'>SEC_PER_DAY<span class='macro_popup'>(60*60*24)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> h = t / <span class='macro'>SEC_PER_HOUR<span class='macro_popup'>(60*60)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> t -= h * <span class='macro'>SEC_PER_HOUR<span class='macro_popup'>(60*60)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> m = t / <span class='macro'>SEC_PER_MIN<span class='macro_popup'>(60)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> t -= m * <span class='macro'>SEC_PER_MIN<span class='macro_popup'>(60)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> s = t;</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> <span class='keyword'>if</span> (s &gt; 30)</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> ++m;</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> <span class='keyword'>if</span> (d)</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> sprintf(buffer, <span class='string_literal'>"%lu day%s, %lu:%02lu"</span>,</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> d, d &gt; 1 ? <span class='string_literal'>"s"</span> : <span class='string_literal'>""</span>, h, m);</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> sprintf(buffer, <span class='string_literal'>"%lu:%02lu"</span>, h, m);</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line"> <span class='keyword'>if</span> (t == -1)</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> sprintf(buffer, <span class='string_literal'>"unknown"</span>);</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"> <span class='keyword'>return</span> buffer;</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/[email protected]_master/report-3551d2.html b/[email protected]_master/report-3551d2.html
new file mode 100644
index 00000000..64ffd439
--- /dev/null
+++ b/[email protected]_master/report-3551d2.html
@@ -0,0 +1,698 @@
+<!doctype html>
+<html>
+<head>
+<title>themes.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/geyes/src/themes.c -->
+
+<!-- FILENAME themes.c -->
+
+<!-- FUNCTIONNAME properties_cb -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT b487fc8a80705300d3f28f1df2151b9c -->
+
+<!-- BUGLINE 302 -->
+
+<!-- BUGCOLUMN 41 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>geyes/src/themes.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 302, column 41</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 themes.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 -setup-static-analyzer -mrelocation-model static -mthread-model posix -mframe-pointer=none -fmath-errno -fno-rounding-math -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -dwarf-column-info -fno-split-dwarf-inlining -debugger-tuning=gdb -resource-dir /usr/lib64/clang/10.0.0 -D HAVE_CONFIG_H -I . -I ../.. -I . -I . -I /usr/include/mate-panel-4.0/libmate-panel-applet -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/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/local/include -D GEYES_THEMES_DIR="/usr/local/share/mate-applets/geyes/" -D GEYES_RESOURCE_PATH="/org/mate/mate-applets/eyes/" -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/geyes/src -ferror-limit 19 -fmessage-length 0 -fgnuc-version=4.2.1 -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-08-31-220144-7303-1 -x c themes.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": {"302": 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'>* Copyright (C) 1999 Dave Camp &lt;[email protected]&gt;</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'>* This program is free software; you can redistribute it and/or modify</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* it under the terms of the GNU General Public License as published by</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* the Free Software Foundation; either version 2 of the License, or</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</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="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* GNU General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* along with this program; if not, write to the Free Software</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"><span class='directive'>#include &lt;config.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"><span class='directive'>#include &lt;dirent.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"><span class='directive'>#include &lt;limits.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#include &lt;ctype.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#include "geyes.h"</span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#define <span class='macro'>GET_WIDGET(x)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, (x)))), ((gtk_widget_get_type<br> ())))))))</span></span> (<span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder, (x)))<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(gtk_builder_get_object (builder, (x)))), ((gtk_widget_get_type<br> ()))))))</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"><span class='directive'>#define <span class='macro'>NUM_THEME_DIRECTORIES<span class='macro_popup'>2</span></span> 2</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='keyword'>static</span> <span class='keyword'>char</span> *theme_directories[<span class='macro'>NUM_THEME_DIRECTORIES<span class='macro_popup'>2</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='keyword'>enum</span> {</td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"> COL_THEME_DIR = 0,</td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> COL_THEME_NAME,</td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> TOTAL_COLS</td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line">};</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='keyword'>void</span> theme_dirs_create (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"> <span class='keyword'>static</span> gboolean themes_created = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"> <span class='keyword'>if</span> (themes_created == <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"> <span class='keyword'>return</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"> theme_directories[0] = g_build_filename(<span class='macro'>GEYES_THEMES_DIR<span class='macro_popup'>"/usr/local/share/mate-applets/geyes/"</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"> theme_directories[1] = g_build_filename(g_get_user_config_dir(), <span class='string_literal'>"mate"</span>, <span class='string_literal'>"geyes-themes"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"> themes_created = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line">}</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></td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line">parse_theme_file (EyesApplet *eyes_applet, FILE *theme_file)</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"> gchar line_buf [512]; <span class='comment'>/* prolly overkill */</span></td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> gchar *token;</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> <span class='keyword'>if</span> (fgets (line_buf, 512, theme_file) == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"> printf(<span class='string_literal'>"fgets error\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> <span class='keyword'>while</span> (!feof (theme_file)) {</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> token = strtok (line_buf, <span class='string_literal'>"="</span>);</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> <span class='keyword'>if</span> (strncmp (token, <span class='string_literal'>"wall-thickness"</span>,</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> strlen (<span class='string_literal'>"wall-thickness"</span>)) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> token += strlen (<span class='string_literal'>"wall-thickness"</span>);</td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> <span class='keyword'>while</span> (!<span class='macro'>isdigit (*token)<span class='macro_popup'>((*__ctype_b_loc ())[(int) ((*token))] &amp; (unsigned short int<br>) _ISdigit)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> token++;</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> sscanf (token, <span class='string_literal'>"%d"</span>, &amp;eyes_applet-&gt;wall_thickness);</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strncmp (token, <span class='string_literal'>"num-eyes"</span>, strlen (<span class='string_literal'>"num-eyes"</span>)) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> token += strlen (<span class='string_literal'>"num-eyes"</span>);</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> <span class='keyword'>while</span> (!<span class='macro'>isdigit (*token)<span class='macro_popup'>((*__ctype_b_loc ())[(int) ((*token))] &amp; (unsigned short int<br>) _ISdigit)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> token++;</td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> sscanf (token, <span class='string_literal'>"%d"</span>, &amp;eyes_applet-&gt;num_eyes);</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> <span class='keyword'>if</span> (eyes_applet-&gt;num_eyes &gt; <span class='macro'>MAX_EYES<span class='macro_popup'>1000</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> eyes_applet-&gt;num_eyes = <span class='macro'>MAX_EYES<span class='macro_popup'>1000</span></span>;</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> (strncmp (token, <span class='string_literal'>"eye-pixmap"</span>, strlen (<span class='string_literal'>"eye-pixmap"</span>)) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> token = strtok (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='string_literal'>"\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> token = strtok (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='string_literal'>"\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> <span class='keyword'>if</span> (eyes_applet-&gt;eye_filename != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> g_free (eyes_applet-&gt;eye_filename);</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> eyes_applet-&gt;eye_filename = g_strdup_printf (<span class='string_literal'>"%s%s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> eyes_applet-&gt;theme_dir,</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> token);</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (strncmp (token, <span class='string_literal'>"pupil-pixmap"</span>, strlen (<span class='string_literal'>"pupil-pixmap"</span>)) == 0) {</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> token = strtok (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='string_literal'>"\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> token = strtok (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='string_literal'>"\""</span>);</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> <span class='keyword'>if</span> (eyes_applet-&gt;pupil_filename != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> g_free (eyes_applet-&gt;pupil_filename);</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> eyes_applet-&gt;pupil_filename</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> = g_strdup_printf (<span class='string_literal'>"%s%s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> eyes_applet-&gt;theme_dir,</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> token);</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> <span class='keyword'>if</span> (fgets (line_buf, 512, theme_file) == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> printf(<span class='string_literal'>"fgets error\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line">load_theme (EyesApplet *eyes_applet, <span class='keyword'>const</span> gchar *theme_dir)</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> GtkWidget *dialog;</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"> FILE* theme_file;</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> gchar *file_name;</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"> eyes_applet-&gt;theme_dir = g_strdup_printf (<span class='string_literal'>"%s/"</span>, theme_dir);</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> file_name = g_strdup_printf(<span class='string_literal'>"%s%s"</span>,theme_dir,<span class='string_literal'>"/config"</span>);</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> theme_file = fopen (file_name, <span class='string_literal'>"r"</span>);</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> g_free (file_name);</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> <span class='keyword'>if</span> (theme_file == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> g_free (eyes_applet-&gt;theme_dir);</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> eyes_applet-&gt;theme_dir = g_strdup_printf (<span class='macro'>GEYES_THEMES_DIR<span class='macro_popup'>"/usr/local/share/mate-applets/geyes/"</span></span> <span class='string_literal'>"Default-tiny/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> theme_file = fopen (<span class='macro'>GEYES_THEMES_DIR<span class='macro_popup'>"/usr/local/share/mate-applets/geyes/"</span></span> <span class='string_literal'>"Default-tiny/config"</span>, <span class='string_literal'>"r"</span>);</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> }</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"> <span class='comment'>/* if it's still NULL we've got a major problem */</span></td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> <span class='keyword'>if</span> (theme_file == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> dialog = gtk_message_dialog_new_with_markup (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> GTK_DIALOG_DESTROY_WITH_PARENT,</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> GTK_MESSAGE_ERROR,</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> GTK_BUTTONS_OK,</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='string_literal'>"&lt;b&gt;%s&lt;/b&gt;\n\n%s"</span>,</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"Can not launch the eyes applet."</span>)<span class='macro_popup'>dcgettext (((void*)0), "Can not launch the eyes applet.", 5)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"There was a fatal error while trying to load the theme."</span>)<span class='macro_popup'>dcgettext (((void*)0), "There was a fatal error while trying to load the theme."<br>, 5)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> gtk_dialog_run (<span class='macro'>GTK_DIALOG (dialog)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(dialog)), ((gtk_dialog_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> gtk_widget_destroy (dialog);</td></tr>
+<tr class="codeline" data-linenumber="135"><td class="num" id="LN135">135</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (eyes_applet-&gt;applet)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(eyes_applet-&gt;applet)), ((gtk_widget_get_type ()))))))</span></span>);</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"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> parse_theme_file (eyes_applet, theme_file);</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> fclose (theme_file);</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"> eyes_applet-&gt;theme_name = g_strdup (theme_dir);</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> <span class='keyword'>if</span> (eyes_applet-&gt;eye_image)</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> g_object_unref (eyes_applet-&gt;eye_image);</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> eyes_applet-&gt;eye_image = gdk_pixbuf_new_from_file (eyes_applet-&gt;eye_filename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> <span class='keyword'>if</span> (eyes_applet-&gt;pupil_image)</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> g_object_unref (eyes_applet-&gt;pupil_image);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"> eyes_applet-&gt;pupil_image = gdk_pixbuf_new_from_file (eyes_applet-&gt;pupil_filename, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> eyes_applet-&gt;eye_height = gdk_pixbuf_get_height (eyes_applet-&gt;eye_image);</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> eyes_applet-&gt;eye_width = gdk_pixbuf_get_width (eyes_applet-&gt;eye_image);</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> eyes_applet-&gt;pupil_height = gdk_pixbuf_get_height (eyes_applet-&gt;pupil_image);</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> eyes_applet-&gt;pupil_width = gdk_pixbuf_get_width (eyes_applet-&gt;pupil_image);</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line">destroy_theme (EyesApplet *eyes_applet)</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> <span class='comment'>/* Dunno about this - to unref or not to unref? */</span></td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>if</span> (eyes_applet-&gt;eye_image != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"> g_object_unref (eyes_applet-&gt;eye_image);</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> eyes_applet-&gt;eye_image = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> <span class='keyword'>if</span> (eyes_applet-&gt;pupil_image != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> g_object_unref (eyes_applet-&gt;pupil_image);</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> eyes_applet-&gt;pupil_image = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> }</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"> g_free (eyes_applet-&gt;theme_dir);</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> g_free (eyes_applet-&gt;theme_name);</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line">}</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'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line">theme_selected_cb (GtkTreeSelection *selection, gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> EyesApplet *eyes_applet = data;</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> GtkTreeModel *model;</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> GtkTreeIter iter;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> gchar *theme;</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> gchar *theme_dir;</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> <span class='keyword'>if</span> (!gtk_tree_selection_get_selected (selection, &amp;model, &amp;iter))</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> gtk_tree_model_get (model, &amp;iter, COL_THEME_DIR, &amp;theme, -1);</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"> <span class='macro'>g_return_if_fail (theme)<span class='macro_popup'>do { if ((__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (theme) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_<br>; }), 1))) { } else { g_return_if_fail_warning (((gchar*) 0),<br> ((const char*) (__func__)), "theme"); return; } } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> theme_dir = g_strdup_printf (<span class='string_literal'>"%s/"</span>, theme);</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> <span class='keyword'>if</span> (!g_ascii_strncasecmp (theme_dir, eyes_applet-&gt;theme_dir, strlen (theme_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> g_free (theme_dir);</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> g_free (theme_dir);</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> destroy_eyes (eyes_applet);</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> destroy_theme (eyes_applet);</td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> load_theme (eyes_applet, theme);</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> setup_eyes (eyes_applet);</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"> g_settings_set_string (</td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> eyes_applet-&gt;settings, <span class='string_literal'>"theme-path"</span>, theme);</td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> g_free (theme);</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line">}</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"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line">phelp_cb (GtkDialog *dialog)</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"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> gtk_show_uri_on_window (<span class='macro'>GTK_WINDOW (dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(dialog)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> <span class='string_literal'>"help:mate-geyes/geyes-settings"</span>,</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line"> gtk_get_current_event_time (),</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> &amp;error);</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"> <span class='keyword'>if</span> (error) {</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> GtkWidget *error_dialog = gtk_message_dialog_new (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"There was an error displaying help: %s"</span>)<span class='macro_popup'>dcgettext (((void*)0), "There was an error displaying help: %s"<br>, 5)</span></span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='macro'>g_signal_connect (G_OBJECT (error_dialog), <span class='string_literal'>"response"</span>, G_CALLBACK (gtk_widget_destroy) , NULL)<span class='macro_popup'>g_signal_connect_data ((((((GObject*) g_type_check_instance_cast<br> ((GTypeInstance*) ((error_dialog)), (((GType) ((20) &lt;&lt;<br> (2))))))))), ("response"), (((GCallback) (gtk_widget_destroy<br>))), (((void*)0)), ((void*)0), (GConnectFlags) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> gtk_window_set_resizable (<span class='macro'>GTK_WINDOW (error_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(error_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (error_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(error_dialog)), ((gtk_window_get_type ()))))))</span></span>, gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(dialog)), ((gtk_widget_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> gtk_widget_show (error_dialog);</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> }</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'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line">presponse_cb (GtkDialog *dialog, gint id, gpointer data)</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"> EyesApplet *eyes_applet = data;</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> <span class='keyword'>if</span>(id == GTK_RESPONSE_HELP){</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> phelp_cb (dialog);</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> </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"> gtk_widget_destroy (<span class='macro'>GTK_WIDGET (dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(dialog)), ((gtk_widget_get_type ()))))))</span></span>);</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"> eyes_applet-&gt;prop_box.pbox = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"><span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line">properties_cb (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> EyesApplet *eyes_applet)</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> GtkBuilder *builder;</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> GtkWidget *tree;</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> GtkWidget *label;</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> GtkListStore *model;</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> GtkTreeViewColumn *column;</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> GtkCellRenderer *cell;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> GtkTreeIter iter;</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line"> DIR *dfd;</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='keyword'>struct</span> dirent *dp;</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"><span class='directive'>#ifdef <span class='macro'>PATH_MAX<span class='macro_popup'>4096</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> gchar filename [<span class='macro'>PATH_MAX<span class='macro_popup'>4096</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> gchar *filename;</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> <span class='keyword'>if</span> (eyes_applet-&gt;prop_box.pbox) {</td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> gtk_window_set_screen (</td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> <span class='macro'>GTK_WINDOW (eyes_applet-&gt;prop_box.pbox)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(eyes_applet-&gt;prop_box.pbox)), ((gtk_window_get_type ())))<br>)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> gtk_widget_get_screen (<span class='macro'>GTK_WIDGET (eyes_applet-&gt;applet)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(eyes_applet-&gt;applet)), ((gtk_widget_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> gtk_window_present (<span class='macro'>GTK_WINDOW (eyes_applet-&gt;prop_box.pbox)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(eyes_applet-&gt;prop_box.pbox)), ((gtk_window_get_type ())))<br>)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> }</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"> builder = gtk_builder_new_from_resource (<span class='macro'>GEYES_RESOURCE_PATH<span class='macro_popup'>"/org/mate/mate-applets/eyes/"</span></span> <span class='string_literal'>"themes.ui"</span>);</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> eyes_applet-&gt;prop_box.pbox = <span class='macro'>GET_WIDGET (<span class='string_literal'>"preferences_dialog"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("preferences_dialog"))))<br>, ((gtk_widget_get_type ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> tree = <span class='macro'>GET_WIDGET (<span class='string_literal'>"themes_treeview"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("themes_treeview")))), (<br>(gtk_widget_get_type ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> label = <span class='macro'>GET_WIDGET (<span class='string_literal'>"select_theme_label"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("select_theme_label"))))<br>, ((gtk_widget_get_type ())))))))</span></span>;</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"> model = gtk_list_store_new (TOTAL_COLS, <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>, <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> gtk_tree_view_set_model (<span class='macro'>GTK_TREE_VIEW (tree)<span class='macro_popup'>((((GtkTreeView*) g_type_check_instance_cast ((GTypeInstance*<br>) ((tree)), ((gtk_tree_view_get_type ()))))))</span></span>, <span class='macro'>GTK_TREE_MODEL (model)<span class='macro_popup'>((((GtkTreeModel*) g_type_check_instance_cast ((GTypeInstance<br>*) ((model)), ((gtk_tree_model_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> cell = gtk_cell_renderer_text_new ();</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> column = gtk_tree_view_column_new_with_attributes (<span class='string_literal'>"not used"</span>, cell,</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> <span class='string_literal'>"text"</span>, COL_THEME_NAME, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> gtk_tree_view_append_column (<span class='macro'>GTK_TREE_VIEW (tree)<span class='macro_popup'>((((GtkTreeView*) g_type_check_instance_cast ((GTypeInstance*<br>) ((tree)), ((gtk_tree_view_get_type ()))))))</span></span>, column);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> <span class='keyword'>if</span> ( ! g_settings_is_writable (eyes_applet-&gt;settings, <span class='string_literal'>"theme-path"</span>)) {</td></tr>
+<tr class="codeline" data-linenumber="291"><td class="num" id="LN291">291</td><td class="line"> gtk_widget_set_sensitive (tree, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="292"><td class="num" id="LN292">292</td><td class="line"> gtk_widget_set_sensitive (label, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>NUM_THEME_DIRECTORIES<span class='macro_popup'>2</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> <span class='keyword'>if</span> ((dfd = opendir (theme_directories[i])) != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> <span class='keyword'>while</span> ((dp = readdir (dfd)) != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> <span class='keyword'>if</span> (dp-&gt;d_name[0] != '.') {</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> gchar *theme_dir;</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> gchar *theme_name;</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"><span class='directive'>#ifdef <span class='macro'>PATH_MAX<span class='macro_popup'>4096</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> <span class="mrange">strcpy</span> (filename,</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:41ex; 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="303"><td class="num" id="LN303">303</td><td class="line"> theme_directories[i]);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> strcat (filename, dp-&gt;d_name);</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> asprintf (&amp;filename, theme_directories[i], dp-&gt;d_name);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> theme_dir = g_strdup_printf (<span class='string_literal'>"%s/"</span>, filename);</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> theme_name = g_path_get_basename (filename);</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> gtk_list_store_append (model, &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> gtk_list_store_set (model, &amp;iter,</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> COL_THEME_DIR, &amp;filename,</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> COL_THEME_NAME, theme_name,</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> -1);</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> <span class='keyword'>if</span> (!g_ascii_strncasecmp (eyes_applet-&gt;theme_dir, theme_dir, strlen (theme_dir))) {</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> GtkTreePath *path;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> path = gtk_tree_model_get_path (<span class='macro'>GTK_TREE_MODEL (model)<span class='macro_popup'>((((GtkTreeModel*) g_type_check_instance_cast ((GTypeInstance<br>*) ((model)), ((gtk_tree_model_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> gtk_tree_view_set_cursor (<span class='macro'>GTK_TREE_VIEW (tree)<span class='macro_popup'>((((GtkTreeView*) g_type_check_instance_cast ((GTypeInstance*<br>) ((tree)), ((gtk_tree_view_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> path,</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> gtk_tree_path_free (path);</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> g_free (theme_name);</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> g_free (theme_dir);</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> closedir (dfd);</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"> }</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"><span class='directive'>#ifndef <span class='macro'>PATH_MAX<span class='macro_popup'>4096</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> g_free (filename);</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> g_object_unref (model);</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> <span class='comment'>/* signals */</span></td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> gtk_builder_add_callback_symbols (builder,</td></tr>
+<tr class="codeline" data-linenumber="341"><td class="num" id="LN341">341</td><td class="line"> <span class='string_literal'>"on_preferences_dialog_response"</span>, <span class='macro'>G_CALLBACK (presponse_cb)<span class='macro_popup'>((GCallback) (presponse_cb))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="342"><td class="num" id="LN342">342</td><td class="line"> <span class='string_literal'>"on_themes_treeselection_changed"</span>, <span class='macro'>G_CALLBACK (theme_selected_cb)<span class='macro_popup'>((GCallback) (theme_selected_cb))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> gtk_builder_connect_signals (builder, eyes_applet);</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> g_object_unref (builder);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> gtk_widget_show_all (eyes_applet-&gt;prop_box.pbox);</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/[email protected]_master/report-41b252.html b/[email protected]_master/report-41b252.html
new file mode 100644
index 00000000..9821c8de
--- /dev/null
+++ b/[email protected]_master/report-41b252.html
@@ -0,0 +1,2113 @@
+<!doctype html>
+<html>
+<head>
+<title>netspeed.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 Out of bound memory access (access exceeds upper limit of memory block) -->
+
+<!-- BUGTYPE Out-of-bound access -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/netspeed/src/netspeed.c -->
+
+<!-- FILENAME netspeed.c -->
+
+<!-- FUNCTIONNAME mac_addr_n2a -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 8b7574e57882059a3a13108f6461430f -->
+
+<!-- BUGLINE 654 -->
+
+<!-- BUGCOLUMN 9 -->
+
+<!-- BUGPATHLENGTH 25 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>netspeed/src/netspeed.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 654, column 9</a><br />Out of bound memory access (access exceeds upper limit of memory block)</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 netspeed.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 -setup-static-analyzer -mrelocation-model static -mthread-model posix -mframe-pointer=none -fmath-errno -fno-rounding-math -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -dwarf-column-info -fno-split-dwarf-inlining -debugger-tuning=gdb -resource-dir /usr/lib64/clang/10.0.0 -D HAVE_CONFIG_H -I . -I ../.. -I ../.. -I /usr/local/include -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libgtop-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/mate-panel-4.0/libmate-panel-applet -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/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 -D NETSPEED_RESOURCE_PATH="/org/mate/mate-applets/netspeed/" -I /usr/include/libnl3 -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/netspeed/src -ferror-limit 19 -fmessage-length 0 -fgnuc-version=4.2.1 -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-08-31-220144-7303-1 -x c netspeed.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": {"651": 1, "652": 1, "653": 1, "654": 1, "655": 1, "656": 1, "657": 1, "672": 1, "673": 1, "674": 1, "675": 1, "676": 1, "679": 1, "680": 1, "681": 1, "682": 1, "683": 1, "684": 1, "686": 1, "690": 1, "692": 1, "694": 1, "698": 1, "700": 1, "702": 1, "703": 1, "704": 1, "705": 1, "710": 1, "714": 1, "716": 1, "719": 1, "720": 1, "724": 1, "727": 1, "728": 1, "732": 1, "733": 1, "736": 1, "737": 1, "738": 1, "739": 1, "741": 1, "742": 1, "745": 1, "746": 1, "1286": 1, "1287": 1, "1288": 1, "1289": 1, "1290": 1, "1291": 1, "1293": 1, "1295": 1, "1300": 1, "1302": 1, "1303": 1, "1305": 1, "1306": 1, "1307": 1, "1308": 1, "1309": 1, "1310": 1, "1311": 1, "1312": 1, "1313": 1, "1315": 1, "1316": 1, "1318": 1, "1320": 1, "1321": 1, "1322": 1, "1324": 1, "1325": 1, "1327": 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'>/* netspeed.c</span></td></tr>
+<tr class="codeline" data-linenumber="2"><td class="num" id="LN2">2</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>* This program is free software; you can redistribute it and/or modify</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* it under the terms of the GNU General Public License as published by</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* the Free Software Foundation; either version 2 of the License, or</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</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="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* GNU Library General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* along with this program; if not, write to the Free Software</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* Netspeed Applet was writen by Jörgen Scheibengruber &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>* MATE Netspeed Applet migrated by Stefano Karapetsas &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</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="23"><td class="num" id="LN23">23</td><td class="line"><span class='directive'>#include "config.h"</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='directive'>#include &lt;math.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;mate-panel-applet.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'>#include &lt;mate-panel-applet-gsettings.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;glib.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;glib/gi18n.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;gio/gio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include "backend.h"</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#define <span class='macro'>GET_COLOR_CHOOSER(x)<span class='macro_popup'>(((((GtkColorChooser*) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, (x)))), ((gtk_color_chooser_get_type<br> ())))))))</span></span> (<span class='macro'>GTK_COLOR_CHOOSER (gtk_builder_get_object (builder, (x)))<span class='macro_popup'>((((GtkColorChooser*) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, (x)))), ((gtk_color_chooser_get_type<br> ()))))))</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#define <span class='macro'>GET_DIALOG(x)<span class='macro_popup'>(((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, (x)))), ((gtk_dialog_get_type<br> ())))))))</span></span> (<span class='macro'>GTK_DIALOG (gtk_builder_get_object (builder, (x)))<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(gtk_builder_get_object (builder, (x)))), ((gtk_dialog_get_type<br> ()))))))</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#define <span class='macro'>GET_DRAWING_AREA(x)<span class='macro_popup'>(((((GtkDrawingArea*) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, (x)))), ((gtk_drawing_area_get_type<br> ())))))))</span></span> (<span class='macro'>GTK_DRAWING_AREA (gtk_builder_get_object (builder, (x)))<span class='macro_popup'>((((GtkDrawingArea*) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, (x)))), ((gtk_drawing_area_get_type<br> ()))))))</span></span>)</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#define <span class='macro'>GET_WIDGET(x)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, (x)))), ((gtk_widget_get_type<br> ())))))))</span></span> (<span class='macro'>GTK_WIDGET (gtk_builder_get_object (builder, (x)))<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(gtk_builder_get_object (builder, (x)))), ((gtk_widget_get_type<br> ()))))))</span></span>)</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='comment'>/* Icons for the interfaces */</span></td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> <span class='keyword'>char</span>* <span class='keyword'>const</span> dev_type_icon [DEV_UNKNOWN + 1] = {</td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"> <span class='comment'>/* FIXME: Need an actual loopback icon... */</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"> <span class='string_literal'>"reload"</span>, <span class='comment'>/* DEV_LO */</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"> <span class='string_literal'>"network-wired"</span>, <span class='comment'>/* DEV_ETHERNET */</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"> <span class='string_literal'>"network-wireless"</span>, <span class='comment'>/* DEV_WIRELESS */</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> <span class='string_literal'>"modem"</span>, <span class='comment'>/* DEV_PPP */</span></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> <span class='string_literal'>"mate-netspeed-plip"</span>, <span class='comment'>/* DEV_PLIP */</span></td></tr>
+<tr class="codeline" data-linenumber="49"><td class="num" id="LN49">49</td><td class="line"> <span class='string_literal'>"mate-netspeed-plip"</span>, <span class='comment'>/* DEV_SLIP */</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"> <span class='string_literal'>"network-workgroup"</span>, <span class='comment'>/* DEV_UNKNOWN */</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> <span class='keyword'>char</span>* wireless_quality_icon [] = {</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> <span class='string_literal'>"mate-netspeed-wireless-25"</span>,</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> <span class='string_literal'>"mate-netspeed-wireless-50"</span>,</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> <span class='string_literal'>"mate-netspeed-wireless-75"</span>,</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> <span class='string_literal'>"mate-netspeed-wireless-100"</span></td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line">};</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'>static</span> <span class='keyword'>const</span> <span class='keyword'>char</span> IN_ICON[] = <span class='string_literal'>"go-down"</span>;</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> <span class='keyword'>char</span> OUT_ICON[] = <span class='string_literal'>"go-up"</span>;</td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> <span class='keyword'>char</span> ERROR_ICON[] = <span class='string_literal'>"gtk-dialog-error"</span>;</td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> <span class='keyword'>char</span> LOGO_ICON[] = <span class='string_literal'>"mate-netspeed-applet"</span>;</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"><span class='comment'>/* How many old in out values do we store?</span></td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> <span class='comment'>* The value actually shown in the applet is the average</span></td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> <span class='comment'>* of these values -&gt; prevents the value from</span></td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> <span class='comment'>* "jumping around like crazy"</span></td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"><span class='directive'>#define <span class='macro'>OLD_VALUES<span class='macro_popup'>5</span></span> 5</span></td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"><span class='directive'>#define <span class='macro'>OLD_VALUES_DBL<span class='macro_popup'>5.0</span></span> 5.0</span></td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"><span class='directive'>#define <span class='macro'>GRAPH_VALUES<span class='macro_popup'>180</span></span> 180</span></td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"><span class='directive'>#define <span class='macro'>GRAPH_LINES<span class='macro_popup'>4</span></span> 4</span></td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"><span class='directive'>#define <span class='macro'>REFRESH_TIME<span class='macro_popup'>1000</span></span> 1000</span></td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"><span class='comment'>/* A struct containing all the "global" data of the</span></td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> <span class='comment'>* applet</span></td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span></td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> MatePanelApplet *applet;</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> GtkWidget *box;</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> GtkWidget *pix_box;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> GtkWidget *speed_box;</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> GtkWidget *in_box;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> GtkWidget *in_label;</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> GtkWidget *in_pix;</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> GtkWidget *out_box;</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> GtkWidget *out_label;</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> GtkWidget *out_pix;</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> GtkWidget *sum_box;</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> GtkWidget *sum_label;</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> GtkWidget *dev_pix;</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> GtkWidget *qual_pix;</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> cairo_surface_t *qual_surfaces[4];</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> gboolean labels_dont_shrink;</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> DevInfo *devinfo;</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> gboolean device_has_changed;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> guint timeout_id;</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> <span class='keyword'>char</span> *up_cmd;</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>char</span> *down_cmd;</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> gboolean show_sum;</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> gboolean show_bits;</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> gboolean change_icon;</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> gboolean auto_change_device;</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> gboolean show_icon;</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> gboolean show_quality_icon;</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> GdkRGBA in_color;</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> GdkRGBA out_color;</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> <span class='keyword'>int</span> width;</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> <span class='comment'>/* details dialog */</span></td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> GtkDialog *details;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> GtkDrawingArea *drawingarea;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> GtkWidget *ip_text;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> GtkWidget *netmask_text;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> GtkWidget *ptpip_text;</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> GtkWidget *ipv6_text;</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> GtkWidget *hwaddr_text;</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> GtkWidget *inbytes_text;</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> GtkWidget *outbytes_text;</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> GtkWidget *essid_text;</td></tr>
+<tr class="codeline" data-linenumber="122"><td class="num" id="LN122">122</td><td class="line"> GtkWidget *signalbar;</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_NL<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> GtkWidget *station_text;</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> GtkWidget *channel_text;</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> GtkWidget *connected_time_text;</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> GtkWidget *ipv6_box;</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> GtkWidget *netlink_box;</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> GtkWidget *wireless_box;</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> <span class='comment'>/* settings dialog */</span></td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> GtkDialog *settings;</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> GtkWidget *network_device_combo;</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"> guint index_old;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> guint64 in_old [<span class='macro'>OLD_VALUES<span class='macro_popup'>5</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> guint64 out_old [<span class='macro'>OLD_VALUES<span class='macro_popup'>5</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> <span class='keyword'>double</span> max_graph;</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> <span class='keyword'>double</span> in_graph [<span class='macro'>GRAPH_VALUES<span class='macro_popup'>180</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> <span class='keyword'>double</span> out_graph [<span class='macro'>GRAPH_VALUES<span class='macro_popup'>180</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>int</span> index_graph;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> GtkWidget *connect_dialog;</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> gboolean show_tooltip;</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> GtkIconTheme *icon_theme;</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> GSettings *gsettings;</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line">} MateNetspeedApplet;</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line">update_tooltip(MateNetspeedApplet* applet);</td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line">device_change_cb(GtkComboBox *combo, MateNetspeedApplet *applet);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"><span class='comment'>/* Adds a Pango markup "foreground" to a bytestring</span></td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> <span class='comment'>*/</span></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'>void</span></td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line">add_markup_fgcolor (<span class='keyword'>char</span> **string,</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *color)</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> <span class='keyword'>char</span> *tmp = *string;</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"> *string = g_strdup_printf (<span class='string_literal'>"&lt;span foreground=\"%s\"&gt;%s&lt;/span&gt;"</span>, color, tmp);</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> g_free (tmp);</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line"><span class='comment'>/* Change the icons according to the selected device</span></td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> <span class='comment'>*/</span></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'>void</span></td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line">change_icons (MateNetspeedApplet *applet)</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"> cairo_surface_t *dev, *down;</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> cairo_surface_t *in_arrow, *out_arrow;</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> gint icon_scale;</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> gint icon_size = mate_panel_applet_get_size (<span class='macro'>MATE_PANEL_APPLET (applet-&gt;applet)<span class='macro_popup'>((((MatePanelApplet*) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet-&gt;applet)), ((mate_panel_applet_get_type ()))))<br>))</span></span>) - 8;</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> <span class='comment'>/* FIXME: Not all network icons include a high enough resolution, so to make them all</span></td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> <span class='comment'>* consistent, we cap them at 48px.*/</span></td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> icon_size = <span class='macro'>CLAMP (icon_size, 16, 48)<span class='macro_popup'>(((icon_size) &gt; (48)) ? (48) : (((icon_size) &lt; (16)) ? (<br>16) : (icon_size)))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> icon_scale = gtk_widget_get_scale_factor (<span class='macro'>GTK_WIDGET (applet-&gt;applet)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;applet)), ((gtk_widget_get_type ()))))))</span></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"> <span class='comment'>/* If the user wants a different icon than current, we load it */</span></td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;show_icon &amp;&amp; applet-&gt;change_icon &amp;&amp; applet-&gt;devinfo) {</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> dev = gtk_icon_theme_load_surface (applet-&gt;icon_theme,</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> dev_type_icon [applet-&gt;devinfo-&gt;type],</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> icon_size, icon_scale, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> dev = gtk_icon_theme_load_surface (applet-&gt;icon_theme,</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> dev_type_icon [DEV_UNKNOWN],</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> icon_size, icon_scale, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</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"> </td></tr>
+<tr class="codeline" data-linenumber="193"><td class="num" id="LN193">193</td><td class="line"> <span class='comment'>/* We need a fallback */</span></td></tr>
+<tr class="codeline" data-linenumber="194"><td class="num" id="LN194">194</td><td class="line"> <span class='keyword'>if</span> (dev == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> dev = gtk_icon_theme_load_surface (applet-&gt;icon_theme,</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> dev_type_icon [DEV_UNKNOWN],</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> icon_size, icon_scale, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> in_arrow = gtk_icon_theme_load_surface (applet-&gt;icon_theme,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> IN_ICON,</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> 16, icon_scale, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="202"><td class="num" id="LN202">202</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="203"><td class="num" id="LN203">203</td><td class="line"> out_arrow = gtk_icon_theme_load_surface (applet-&gt;icon_theme,</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> OUT_ICON,</td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> 16, icon_scale, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="206"><td class="num" id="LN206">206</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> <span class='comment'>/* Set the windowmanager icon for the applet */</span></td></tr>
+<tr class="codeline" data-linenumber="208"><td class="num" id="LN208">208</td><td class="line"> gtk_window_set_default_icon_name (LOGO_ICON);</td></tr>
+<tr class="codeline" data-linenumber="209"><td class="num" id="LN209">209</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> gtk_image_set_from_surface (<span class='macro'>GTK_IMAGE (applet-&gt;out_pix)<span class='macro_popup'>((((GtkImage*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;out_pix)), ((gtk_image_get_type ()))))))</span></span>, out_arrow);</td></tr>
+<tr class="codeline" data-linenumber="211"><td class="num" id="LN211">211</td><td class="line"> gtk_image_set_from_surface (<span class='macro'>GTK_IMAGE (applet-&gt;in_pix)<span class='macro_popup'>((((GtkImage*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;in_pix)), ((gtk_image_get_type ()))))))</span></span>, in_arrow);</td></tr>
+<tr class="codeline" data-linenumber="212"><td class="num" id="LN212">212</td><td class="line"> cairo_surface_destroy (in_arrow);</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> cairo_surface_destroy (out_arrow);</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> (applet-&gt;devinfo &amp;&amp; applet-&gt;devinfo-&gt;running) {</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"> gtk_widget_show (applet-&gt;in_box);</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> gtk_widget_show (applet-&gt;out_box);</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"> cairo_t *cr;</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> cairo_surface_t *copy;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> gint down_coords;</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"> gtk_widget_hide (applet-&gt;in_box);</td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> gtk_widget_hide (applet-&gt;out_box);</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="226"><td class="num" id="LN226">226</td><td class="line"> <span class='comment'>/* We're not allowed to modify "dev" */</span></td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> copy = cairo_surface_create_similar (dev,</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> cairo_surface_get_content (dev),</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> cairo_image_surface_get_width (dev) / icon_scale,</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> cairo_image_surface_get_height (dev) / icon_scale);</td></tr>
+<tr class="codeline" data-linenumber="231"><td class="num" id="LN231">231</td><td class="line"> cr = cairo_create (copy);</td></tr>
+<tr class="codeline" data-linenumber="232"><td class="num" id="LN232">232</td><td class="line"> cairo_set_source_surface (cr, dev, 0, 0);</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> cairo_paint (cr);</td></tr>
+<tr class="codeline" data-linenumber="234"><td class="num" id="LN234">234</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> down = gtk_icon_theme_load_surface (applet-&gt;icon_theme,</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> ERROR_ICON,</td></tr>
+<tr class="codeline" data-linenumber="237"><td class="num" id="LN237">237</td><td class="line"> icon_size, icon_scale, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="238"><td class="num" id="LN238">238</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> down_coords = cairo_image_surface_get_width (copy) / icon_scale;</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> cairo_scale (cr, 0.5, 0.5);</td></tr>
+<tr class="codeline" data-linenumber="241"><td class="num" id="LN241">241</td><td class="line"> cairo_set_operator (cr, CAIRO_OPERATOR_OVER);</td></tr>
+<tr class="codeline" data-linenumber="242"><td class="num" id="LN242">242</td><td class="line"> cairo_set_source_surface (cr, down, down_coords, down_coords);</td></tr>
+<tr class="codeline" data-linenumber="243"><td class="num" id="LN243">243</td><td class="line"> cairo_paint (cr);</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> cairo_surface_destroy (down);</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> cairo_surface_destroy (dev);</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> dev = copy;</td></tr>
+<tr class="codeline" data-linenumber="248"><td class="num" id="LN248">248</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="249"><td class="num" id="LN249">249</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;show_icon) {</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> gtk_widget_show (applet-&gt;dev_pix);</td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> gtk_image_set_from_surface (<span class='macro'>GTK_IMAGE (applet-&gt;dev_pix)<span class='macro_popup'>((((GtkImage*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;dev_pix)), ((gtk_image_get_type ()))))))</span></span>, dev);</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> gtk_widget_hide (applet-&gt;dev_pix);</td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> cairo_surface_destroy(dev);</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line">}</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='comment'>/* Here some rearangement of the icons and the labels occurs</span></td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> <span class='comment'>* according to the panelsize and wether we show in and out</span></td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"> <span class='comment'>* or just the sum</span></td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line">applet_change_size_or_orient(MatePanelApplet *applet_widget, <span class='keyword'>int</span> arg1, MateNetspeedApplet *applet)</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='keyword'>int</span> size;</td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> MatePanelAppletOrient orient;</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"> <span class='macro'>g_assert(applet)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (applet) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_<br>; }), 1)) ; else g_assertion_message_expr (((gchar*) 0), "netspeed.c"<br>, 270, ((const char*) (__func__)), "applet"); } while (0)</span></span>;</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"> size = mate_panel_applet_get_size(applet_widget);</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> orient = mate_panel_applet_get_orient(applet_widget);</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="275"><td class="num" id="LN275">275</td><td class="line"> g_object_ref(applet-&gt;pix_box);</td></tr>
+<tr class="codeline" data-linenumber="276"><td class="num" id="LN276">276</td><td class="line"> g_object_ref(applet-&gt;in_pix);</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> g_object_ref(applet-&gt;in_label);</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> g_object_ref(applet-&gt;out_pix);</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> g_object_ref(applet-&gt;out_label);</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> g_object_ref(applet-&gt;sum_label);</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;in_box) {</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> gtk_container_remove(<span class='macro'>GTK_CONTAINER(applet-&gt;in_box)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet-&gt;in_box)), ((gtk_container_get_type ()))))))</span></span>, applet-&gt;in_label);</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> gtk_container_remove(<span class='macro'>GTK_CONTAINER(applet-&gt;in_box)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet-&gt;in_box)), ((gtk_container_get_type ()))))))</span></span>, applet-&gt;in_pix);</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> gtk_widget_destroy(applet-&gt;in_box);</td></tr>
+<tr class="codeline" data-linenumber="286"><td class="num" id="LN286">286</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="287"><td class="num" id="LN287">287</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;out_box) {</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> gtk_container_remove(<span class='macro'>GTK_CONTAINER(applet-&gt;out_box)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet-&gt;out_box)), ((gtk_container_get_type ()))))))</span></span>, applet-&gt;out_label);</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> gtk_container_remove(<span class='macro'>GTK_CONTAINER(applet-&gt;out_box)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet-&gt;out_box)), ((gtk_container_get_type ()))))))</span></span>, applet-&gt;out_pix);</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> gtk_widget_destroy(applet-&gt;out_box);</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"> <span class='keyword'>if</span> (applet-&gt;sum_box) {</td></tr>
+<tr class="codeline" data-linenumber="293"><td class="num" id="LN293">293</td><td class="line"> gtk_container_remove(<span class='macro'>GTK_CONTAINER(applet-&gt;sum_box)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet-&gt;sum_box)), ((gtk_container_get_type ()))))))</span></span>, applet-&gt;sum_label);</td></tr>
+<tr class="codeline" data-linenumber="294"><td class="num" id="LN294">294</td><td class="line"> gtk_widget_destroy(applet-&gt;sum_box);</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"> <span class='keyword'>if</span> (applet-&gt;box) {</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> gtk_container_remove(<span class='macro'>GTK_CONTAINER(applet-&gt;box)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet-&gt;box)), ((gtk_container_get_type ()))))))</span></span>, applet-&gt;pix_box);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> gtk_widget_destroy(applet-&gt;box);</td></tr>
+<tr class="codeline" data-linenumber="299"><td class="num" id="LN299">299</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="300"><td class="num" id="LN300">300</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> <span class='keyword'>if</span> (orient == MATE_PANEL_APPLET_ORIENT_LEFT || orient == MATE_PANEL_APPLET_ORIENT_RIGHT) {</td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> applet-&gt;box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> applet-&gt;speed_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> <span class='keyword'>if</span> (size &gt; 64) {</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> applet-&gt;sum_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> applet-&gt;in_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1);</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line"> applet-&gt;out_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1);</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> applet-&gt;sum_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);</td></tr>
+<tr class="codeline" data-linenumber="310"><td class="num" id="LN310">310</td><td class="line"> applet-&gt;in_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);</td></tr>
+<tr class="codeline" data-linenumber="311"><td class="num" id="LN311">311</td><td class="line"> applet-&gt;out_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);</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"> applet-&gt;labels_dont_shrink = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> applet-&gt;in_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1);</td></tr>
+<tr class="codeline" data-linenumber="316"><td class="num" id="LN316">316</td><td class="line"> applet-&gt;out_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1);</td></tr>
+<tr class="codeline" data-linenumber="317"><td class="num" id="LN317">317</td><td class="line"> applet-&gt;box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1);</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> applet-&gt;sum_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2);</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> <span class='keyword'>if</span> (size &lt; 48) {</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> applet-&gt;speed_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1);</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> applet-&gt;labels_dont_shrink = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> applet-&gt;speed_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> applet-&gt;labels_dont_shrink = !applet-&gt;show_sum;</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> gtk_box_pack_start(<span class='macro'>GTK_BOX(applet-&gt;in_box)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((applet<br>-&gt;in_box)), ((gtk_box_get_type ()))))))</span></span>, applet-&gt;in_pix, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> gtk_box_pack_start(<span class='macro'>GTK_BOX(applet-&gt;in_box)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((applet<br>-&gt;in_box)), ((gtk_box_get_type ()))))))</span></span>, applet-&gt;in_label, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="330"><td class="num" id="LN330">330</td><td class="line"> gtk_box_pack_start(<span class='macro'>GTK_BOX(applet-&gt;out_box)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((applet<br>-&gt;out_box)), ((gtk_box_get_type ()))))))</span></span>, applet-&gt;out_pix, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="331"><td class="num" id="LN331">331</td><td class="line"> gtk_box_pack_start(<span class='macro'>GTK_BOX(applet-&gt;out_box)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((applet<br>-&gt;out_box)), ((gtk_box_get_type ()))))))</span></span>, applet-&gt;out_label, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line"> gtk_box_pack_start(<span class='macro'>GTK_BOX(applet-&gt;sum_box)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((applet<br>-&gt;sum_box)), ((gtk_box_get_type ()))))))</span></span>, applet-&gt;sum_label, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="333"><td class="num" id="LN333">333</td><td class="line"> gtk_box_pack_start(<span class='macro'>GTK_BOX(applet-&gt;box)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((applet<br>-&gt;box)), ((gtk_box_get_type ()))))))</span></span>, applet-&gt;pix_box, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="334"><td class="num" id="LN334">334</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> g_object_unref(applet-&gt;pix_box);</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> g_object_unref(applet-&gt;in_pix);</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> g_object_unref(applet-&gt;in_label);</td></tr>
+<tr class="codeline" data-linenumber="338"><td class="num" id="LN338">338</td><td class="line"> g_object_unref(applet-&gt;out_pix);</td></tr>
+<tr class="codeline" data-linenumber="339"><td class="num" id="LN339">339</td><td class="line"> g_object_unref(applet-&gt;out_label);</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> g_object_unref(applet-&gt;sum_label);</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'>if</span> (applet-&gt;show_sum) {</td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> gtk_box_pack_start(<span class='macro'>GTK_BOX(applet-&gt;speed_box)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((applet<br>-&gt;speed_box)), ((gtk_box_get_type ()))))))</span></span>, applet-&gt;sum_box, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> gtk_box_pack_start(<span class='macro'>GTK_BOX(applet-&gt;speed_box)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((applet<br>-&gt;speed_box)), ((gtk_box_get_type ()))))))</span></span>, applet-&gt;in_box, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> gtk_box_pack_start(<span class='macro'>GTK_BOX(applet-&gt;speed_box)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((applet<br>-&gt;speed_box)), ((gtk_box_get_type ()))))))</span></span>, applet-&gt;out_box, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="348"><td class="num" id="LN348">348</td><td class="line"> gtk_box_pack_start(<span class='macro'>GTK_BOX(applet-&gt;box)<span class='macro_popup'>((((GtkBox*) g_type_check_instance_cast ((GTypeInstance*) ((applet<br>-&gt;box)), ((gtk_box_get_type ()))))))</span></span>, applet-&gt;speed_box, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>, 0);</td></tr>
+<tr class="codeline" data-linenumber="349"><td class="num" id="LN349">349</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> gtk_widget_show_all(applet-&gt;box);</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> <span class='keyword'>if</span> (!applet-&gt;show_icon) {</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> gtk_widget_hide(applet-&gt;dev_pix);</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"> gtk_container_add(<span class='macro'>GTK_CONTAINER(applet-&gt;applet)<span class='macro_popup'>((((GtkContainer*) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet-&gt;applet)), ((gtk_container_get_type ()))))))</span></span>, applet-&gt;box);</td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> change_icons (applet);</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line">}</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"><span class='comment'>/* Change visibility of signal quality icon for wireless devices</span></td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line">change_quality_icon(MateNetspeedApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="364"><td class="num" id="LN364">364</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;devinfo-&gt;type == DEV_WIRELESS &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="365"><td class="num" id="LN365">365</td><td class="line"> applet-&gt;devinfo-&gt;up &amp;&amp; applet-&gt;show_quality_icon) {</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> gtk_widget_show(applet-&gt;qual_pix);</td></tr>
+<tr class="codeline" data-linenumber="367"><td class="num" id="LN367">367</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="368"><td class="num" id="LN368">368</td><td class="line"> gtk_widget_hide(applet-&gt;qual_pix);</td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> }</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'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line">update_quality_icon(MateNetspeedApplet *applet)</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'>if</span> (!applet-&gt;show_quality_icon) {</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="377"><td class="num" id="LN377">377</td><td class="line"> }</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'>unsigned</span> <span class='keyword'>int</span> q;</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> q = (applet-&gt;devinfo-&gt;qual);</td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> q /= 25;</td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> q = <span class='macro'>MIN (q, 3)<span class='macro_popup'>(((q) &lt; (3)) ? (q) : (3))</span></span>; <span class='comment'>/* q out of range would crash when accessing qual_surfaces[q] */</span></td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> gtk_image_set_from_surface (<span class='macro'>GTK_IMAGE(applet-&gt;qual_pix)<span class='macro_popup'>((((GtkImage*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;qual_pix)), ((gtk_image_get_type ()))))))</span></span>, applet-&gt;qual_surfaces[q]);</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"> </td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line">init_quality_surfaces (MateNetspeedApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> cairo_surface_t *surface;</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> gint icon_scale;</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> <span class='comment'>/* FIXME: Add larger icon files. */</span></td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> gint icon_size = 24;</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"> icon_scale = gtk_widget_get_scale_factor (<span class='macro'>GTK_WIDGET (applet-&gt;applet)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;applet)), ((gtk_widget_get_type ()))))))</span></span>);</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"> <span class='keyword'>for</span> (i = 0; i &lt; 4; i++) {</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;qual_surfaces[i])</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> cairo_surface_destroy (applet-&gt;qual_surfaces[i]);</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"> surface = gtk_icon_theme_load_surface (applet-&gt;icon_theme,</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> wireless_quality_icon[i],</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> icon_size, icon_scale, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, 0, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</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"> <span class='keyword'>if</span> (surface) {</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> cairo_t *cr;</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> applet-&gt;qual_surfaces[i] = cairo_surface_create_similar (surface,</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> cairo_surface_get_content (surface),</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> cairo_image_surface_get_width (surface) / icon_scale,</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> cairo_image_surface_get_height (surface) / icon_scale);</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> cr = cairo_create (applet-&gt;qual_surfaces[i]);</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> cairo_set_source_surface (cr, surface, 0, 0);</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> cairo_paint (cr);</td></tr>
+<tr class="codeline" data-linenumber="418"><td class="num" id="LN418">418</td><td class="line"> cairo_surface_destroy (surface);</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'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> applet-&gt;qual_surfaces[i] = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="422"><td class="num" id="LN422">422</td><td class="line"> }</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">}</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line">icon_theme_changed_cb (GtkIconTheme *icon_theme,</td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> gpointer user_data)</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> MateNetspeedApplet *applet = (MateNetspeedApplet*)user_data;</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> init_quality_surfaces(user_data);</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;devinfo-&gt;type == DEV_WIRELESS &amp;&amp; applet-&gt;devinfo-&gt;up)</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> update_quality_icon(user_data);</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> change_icons(user_data);</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line">}</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"><span class='directive'>#define <span class='macro'>IEC_KIBI_DBL<span class='macro_popup'>1024.0</span></span> 1024.0</span></td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"><span class='directive'>#define <span class='macro'>IEC_MEBI_DBL<span class='macro_popup'>1024.0*1024.0</span></span> 1024.0*1024.0</span></td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"><span class='directive'>#define <span class='macro'>IEC_GIBI_DBL<span class='macro_popup'>1024.0*1024.0*1024.0</span></span> 1024.0*1024.0*1024.0</span></td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line">format_transfer_rate (gchar *out,</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> <span class='keyword'>double</span> bytes,</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> gboolean bits)</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *format;</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *unit;</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> <span class='keyword'>if</span> (bits)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> bytes *= 8.0;</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>if</span> (bytes &lt; <span class='macro'>IEC_KIBI_DBL<span class='macro_popup'>1024.0</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> format = <span class='string_literal'>"%.0f %s"</span>;</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> unit = bits ? <span class='comment'>/* translators: bits (short) */</span> <span class='macro'>N_(<span class='string_literal'>"bit/s"</span>)<span class='macro_popup'>("bit/s")</span></span>: <span class='comment'>/* translators: Bytes (short) */</span> <span class='macro'>N_(<span class='string_literal'>"B/s"</span>)<span class='macro_popup'>("B/s")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="456"><td class="num" id="LN456">456</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (bytes &lt; <span class='macro'>IEC_MEBI_DBL<span class='macro_popup'>1024.0*1024.0</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="457"><td class="num" id="LN457">457</td><td class="line"> format = (bytes &lt; (100.0 * <span class='macro'>IEC_KIBI_DBL<span class='macro_popup'>1024.0</span></span>)) ? <span class='string_literal'>"%.1f %s"</span> : <span class='string_literal'>"%.0f %s"</span>;</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> bytes /= <span class='macro'>IEC_KIBI_DBL<span class='macro_popup'>1024.0</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> unit = bits ? <span class='comment'>/* translators: kibibits (short) */</span> <span class='macro'>N_(<span class='string_literal'>"Kibit/s"</span>)<span class='macro_popup'>("Kibit/s")</span></span> : <span class='comment'>/* translators: Kibibytes (short) */</span> <span class='macro'>N_(<span class='string_literal'>"KiB/s"</span>)<span class='macro_popup'>("KiB/s")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> } <span class='keyword'>else</span> <span class='keyword'>if</span> (bytes &lt; <span class='macro'>IEC_GIBI_DBL<span class='macro_popup'>1024.0*1024.0*1024.0</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> format = <span class='string_literal'>"%.1f %s"</span>;</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> bytes /= <span class='macro'>IEC_MEBI_DBL<span class='macro_popup'>1024.0*1024.0</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> unit = bits ? <span class='comment'>/* translators: Mebibit (short) */</span> <span class='macro'>N_(<span class='string_literal'>"Mibit/s"</span>)<span class='macro_popup'>("Mibit/s")</span></span> : <span class='comment'>/* translators: Mebibyte (short) */</span> <span class='macro'>N_(<span class='string_literal'>"MiB/s"</span>)<span class='macro_popup'>("MiB/s")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> format = <span class='string_literal'>"%.1f %s"</span>;</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> bytes /= <span class='macro'>IEC_GIBI_DBL<span class='macro_popup'>1024.0*1024.0*1024.0</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> unit = bits ? <span class='comment'>/* translators: Gibibit (short) */</span> <span class='macro'>N_(<span class='string_literal'>"Gibit/s"</span>)<span class='macro_popup'>("Gibit/s")</span></span> : <span class='comment'>/* translators: Gibibyte (short) */</span> <span class='macro'>N_(<span class='string_literal'>"GiB/s"</span>)<span class='macro_popup'>("GiB/s")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="468"><td class="num" id="LN468">468</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="469"><td class="num" id="LN469">469</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> g_snprintf (out, <span class='macro'>MAX_FORMAT_SIZE<span class='macro_popup'>15</span></span>, format, bytes, <span class='macro'>gettext(unit)<span class='macro_popup'>dcgettext (((void*)0), unit, 5)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"><span class='comment'>/* Converts a number of bytes into a human</span></td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> <span class='comment'>* readable string - in [M/k]bytes[/s]</span></td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='comment'>* The string has to be freed</span></td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span>*</td></tr>
+<tr class="codeline" data-linenumber="478"><td class="num" id="LN478">478</td><td class="line">bps_to_string(<span class='keyword'>double</span> bytes, gboolean bits)</td></tr>
+<tr class="codeline" data-linenumber="479"><td class="num" id="LN479">479</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> <span class='keyword'>char</span> res[<span class='macro'>MAX_FORMAT_SIZE<span class='macro_popup'>15</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> format_transfer_rate (res, bytes, bits);</td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> <span class='keyword'>return</span> g_strdup (res);</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line">}</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"><span class='comment'>/* Redraws the graph drawingarea</span></td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> <span class='comment'>* Some really black magic is going on in here ;-)</span></td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line">redraw_graph(MateNetspeedApplet *applet, cairo_t *cr)</td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> GtkWidget *da = <span class='macro'>GTK_WIDGET(applet-&gt;drawingarea)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;drawingarea)), ((gtk_widget_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> GtkStyleContext *stylecontext = gtk_widget_get_style_context (da);</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> GdkWindow *real_window = gtk_widget_get_window (da);</td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> GdkPoint in_points[<span class='macro'>GRAPH_VALUES<span class='macro_popup'>180</span></span>], out_points[<span class='macro'>GRAPH_VALUES<span class='macro_popup'>180</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> PangoLayout *layout;</td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> PangoRectangle logical_rect;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> <span class='keyword'>char</span> *text;</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> <span class='keyword'>int</span> i, offset, w, h;</td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> <span class='keyword'>double</span> max_val;</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> <span class='keyword'>double</span> dash[2] = { 1.0, 2.0 };</td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"> w = gdk_window_get_width (real_window);</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> h = gdk_window_get_height (real_window);</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> <span class='comment'>/* the graph hight should be: hight/2 &lt;= applet-&gt;max_graph &lt; hight */</span></td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> <span class='keyword'>for</span> (max_val = 1; max_val &lt; applet-&gt;max_graph; max_val *= 2) ;</td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> <span class='comment'>/* calculate the polygons (GdkPoint[]) for the graphs */</span></td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> offset = 0;</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>for</span> (i = (applet-&gt;index_graph + 1) % <span class='macro'>GRAPH_VALUES<span class='macro_popup'>180</span></span>; applet-&gt;in_graph[i] &lt; 0; i = (i + 1) % <span class='macro'>GRAPH_VALUES<span class='macro_popup'>180</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> offset++;</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> <span class='keyword'>for</span> (i = offset + 1; i &lt; <span class='macro'>GRAPH_VALUES<span class='macro_popup'>180</span></span>; i++)</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> <span class='keyword'>int</span> index = (applet-&gt;index_graph + i) % <span class='macro'>GRAPH_VALUES<span class='macro_popup'>180</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> out_points[i].x = in_points[i].x = ((w - 6) * i) / <span class='macro'>GRAPH_VALUES<span class='macro_popup'>180</span></span> + 4;</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> in_points[i].y = h - 6 - (<span class='keyword'>int</span>)((h - 8) * applet-&gt;in_graph[index] / max_val);</td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> out_points[i].y = h - 6 - (<span class='keyword'>int</span>)((h - 8) * applet-&gt;out_graph[index] / max_val);</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> in_points[offset].x = out_points[offset].x = ((w - 6) * offset) / <span class='macro'>GRAPH_VALUES<span class='macro_popup'>180</span></span> + 4;</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> in_points[offset].y = in_points[(offset + 1) % <span class='macro'>GRAPH_VALUES<span class='macro_popup'>180</span></span>].y;</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> out_points[offset].y = out_points[(offset + 1) % <span class='macro'>GRAPH_VALUES<span class='macro_popup'>180</span></span>].y;</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"> <span class='comment'>/* draw the background */</span></td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> cairo_rectangle (cr, 02, 2, w - 6, h - 6);</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> cairo_fill (cr);</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"> cairo_set_line_width(cr, 1.0);</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> cairo_set_dash (cr, dash, 2, 0);</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"> cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> cairo_rectangle (cr, 2, 2, w - 6, h - 6);</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> cairo_stroke (cr);</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>GRAPH_LINES<span class='macro_popup'>4</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> <span class='keyword'>int</span> y = 2 + ((h - 6) * i) / <span class='macro'>GRAPH_LINES<span class='macro_popup'>4</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> cairo_move_to (cr, 2, y);</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> cairo_line_to (cr, w - 4, y);</td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> cairo_stroke (cr);</td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> <span class='comment'>/* draw the polygons */</span></td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> cairo_set_dash (cr, dash, 0, 1);</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);</td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> gdk_cairo_set_source_rgba (cr, &amp;applet-&gt;in_color);</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> <span class='keyword'>for</span> (i = offset; i &lt; <span class='macro'>GRAPH_VALUES<span class='macro_popup'>180</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> cairo_line_to (cr, in_points[i].x, in_points[i].y);</td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> cairo_stroke (cr);</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"> gdk_cairo_set_source_rgba (cr, &amp;applet-&gt;out_color);</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> <span class='keyword'>for</span> (i = offset; i &lt; <span class='macro'>GRAPH_VALUES<span class='macro_popup'>180</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> cairo_line_to (cr, out_points[i].x, out_points[i].y);</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"> cairo_stroke (cr);</td></tr>
+<tr class="codeline" data-linenumber="558"><td class="num" id="LN558">558</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="559"><td class="num" id="LN559">559</td><td class="line"> text = bps_to_string (max_val, applet-&gt;show_bits);</td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> add_markup_fgcolor(&amp;text, <span class='string_literal'>"black"</span>);</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> layout = gtk_widget_create_pango_layout (da, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> pango_layout_set_markup(layout, text, -1);</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> g_free (text);</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> gtk_render_layout(stylecontext, cr, 3, 2, layout);</td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> g_object_unref(<span class='macro'>G_OBJECT(layout)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>layout)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="566"><td class="num" id="LN566">566</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="567"><td class="num" id="LN567">567</td><td class="line"> text = bps_to_string (0.0, applet-&gt;show_bits);</td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> add_markup_fgcolor(&amp;text, <span class='string_literal'>"black"</span>);</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> layout = gtk_widget_create_pango_layout (da, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> pango_layout_set_markup(layout, text, -1);</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> pango_layout_get_pixel_extents (layout, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, &amp;logical_rect);</td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (text);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> gtk_render_layout(stylecontext, cr, 3, h - 4 - logical_rect.height, layout);</td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> g_object_unref(<span class='macro'>G_OBJECT(layout)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>layout)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="575"><td class="num" id="LN575">575</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="576"><td class="num" id="LN576">576</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="577"><td class="num" id="LN577">577</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line">set_applet_devinfo(MateNetspeedApplet* applet, <span class='keyword'>const</span> <span class='keyword'>char</span>* iface)</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"> DevInfo *info;</td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> get_device_info (iface, &amp;info);</td></tr>
+<tr class="codeline" data-linenumber="583"><td class="num" id="LN583">583</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="584"><td class="num" id="LN584">584</td><td class="line"> <span class='keyword'>if</span> (info-&gt;running) {</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> free_device_info(applet-&gt;devinfo);</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> applet-&gt;devinfo = info;</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> applet-&gt;device_has_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> free_device_info (info);</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line">}</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"><span class='comment'>/* Find the first available device, that is running and != lo */</span></td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line">search_for_up_if(MateNetspeedApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> <span class='keyword'>const</span> gchar *default_route;</td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> GList *devices, *tmp;</td></tr>
+<tr class="codeline" data-linenumber="601"><td class="num" id="LN601">601</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="602"><td class="num" id="LN602">602</td><td class="line"> default_route = get_default_route();</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"> <span class='keyword'>if</span> (default_route != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> <span class='keyword'>if</span> (set_applet_devinfo(applet, default_route))</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> <span class='keyword'>return</span>;</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"> </td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> devices = get_available_devices();</td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> <span class='keyword'>for</span> (tmp = devices; tmp; tmp = <span class='macro'>g_list_next(tmp)<span class='macro_popup'>((tmp) ? (((GList *)(tmp))-&gt;next) : ((void*)0))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> <span class='keyword'>if</span> (is_dummy_device(tmp-&gt;data))</td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> <span class='keyword'>if</span> (set_applet_devinfo(applet, tmp-&gt;data))</td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> free_devices_list(devices);</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'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line">format_time (guint32 sec)</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"> <span class='keyword'>char</span> *res;</td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> <span class='keyword'>char</span> *m, *s;</td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> <span class='keyword'>int</span> seconds;</td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> <span class='keyword'>int</span> minutes;</td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> <span class='keyword'>int</span> hours;</td></tr>
+<tr class="codeline" data-linenumber="627"><td class="num" id="LN627">627</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="628"><td class="num" id="LN628">628</td><td class="line"> <span class='keyword'>if</span> (sec &lt; 60)</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> <span class='keyword'>return</span> g_strdup_printf (<span class='macro'>ngettext (<span class='string_literal'>"%'"</span> G_GUINT32_FORMAT <span class='string_literal'>" second"</span>,<span class='string_literal'>"%'"</span> G_GUINT32_FORMAT <span class='string_literal'>" seconds"</span>, sec)<span class='macro_popup'>dcngettext (((void*)0), "%'" "u" " second", "%'" "u" " seconds"<br>, sec, 5)</span></span>, sec);</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> hours = (sec/3600);</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> minutes = (sec -(3600*hours))/60;</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> seconds = (sec -(3600*hours)-(minutes*60));</td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> m = g_strdup_printf (<span class='macro'>ngettext (<span class='string_literal'>"%'d minute"</span>, <span class='string_literal'>"%'d minutes"</span>, minutes)<span class='macro_popup'>dcngettext (((void*)0), "%'d minute", "%'d minutes", minutes,<br> 5)</span></span>, minutes);</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> s = g_strdup_printf (<span class='macro'>ngettext (<span class='string_literal'>"%'d secon"</span>, <span class='string_literal'>"%'d seconds"</span>, seconds)<span class='macro_popup'>dcngettext (((void*)0), "%'d secon", "%'d seconds", seconds, 5<br>)</span></span>, seconds);</td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> <span class='keyword'>if</span> (sec &lt; 60*60) {</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> res = g_strconcat (m, <span class='string_literal'>", "</span>, s, <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='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> <span class='keyword'>char</span> *h;</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> h = g_strdup_printf (<span class='macro'>ngettext (<span class='string_literal'>"%'d hour"</span>, <span class='string_literal'>"%'d hours"</span>, hours)<span class='macro_popup'>dcngettext (((void*)0), "%'d hour", "%'d hours", hours, 5)</span></span>, hours);</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line"> res = g_strconcat (h, <span class='string_literal'>", "</span>, m, <span class='string_literal'>", "</span>, s, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> g_free (h);</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"> g_free (m);</td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> g_free (s);</td></tr>
+<tr class="codeline" data-linenumber="647"><td class="num" id="LN647">647</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="648"><td class="num" id="LN648">648</td><td class="line"> <span class='keyword'>return</span> res;</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'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line">mac_addr_n2a (<span class='keyword'>const</span> <span class='keyword'>unsigned</span> <span class='keyword'>char</span> *hw)</td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> <span class='keyword'>if</span> (<span class="mrange">hw[6]</span> || hw[7]) {</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">25</div></td><td><div class="PathNav"><a href="#Path24" title="Previous event (24)">&#x2190;</a></div></td><td>Out of bound memory access (access exceeds upper limit of memory block)</td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> <span class='keyword'>return</span> g_strdup_printf (<span class='string_literal'>"%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x"</span>,</td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> hw[0], hw[1], hw[2], hw[3],</td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"> hw[4], hw[5], hw[6], hw[7]);</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line"> <span class='keyword'>return</span> g_strdup_printf (<span class='string_literal'>"%02x:%02x:%02x:%02x:%02x:%02x"</span>,</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> hw[0], hw[1], hw[2],</td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> hw[3], hw[4], hw[5]);</td></tr>
+<tr class="codeline" data-linenumber="662"><td class="num" id="LN662">662</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="663"><td class="num" id="LN663">663</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="664"><td class="num" id="LN664">664</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="665"><td class="num" id="LN665">665</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line">format_ipv4 (guint32 ip,</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line"> <span class='keyword'>char</span> *dest)</td></tr>
+<tr class="codeline" data-linenumber="668"><td class="num" id="LN668">668</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="669"><td class="num" id="LN669">669</td><td class="line"> inet_ntop (<span class='macro'>AF_INET<span class='macro_popup'>2</span></span>, &amp;ip, dest, <span class='macro'>INET_ADDRSTRLEN<span class='macro_popup'>16</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="670"><td class="num" id="LN670">670</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="671"><td class="num" id="LN671">671</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line">format_ipv6 (<span class='keyword'>const</span> guint8 ip[16],</td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> <span class='keyword'>char</span> *dest)</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="676"><td class="num" id="LN676">676</td><td class="line"> inet_ntop (<span class='macro'>AF_INET6<span class='macro_popup'>10</span></span>, ip, dest, <span class='macro'>INET6_ADDRSTRLEN<span class='macro_popup'>46</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="677"><td class="num" id="LN677">677</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="678"><td class="num" id="LN678">678</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="679"><td class="num" id="LN679">679</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="680"><td class="num" id="LN680">680</td><td class="line">fill_details_dialog (MateNetspeedApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="681"><td class="num" id="LN681">681</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="682"><td class="num" id="LN682">682</td><td class="line"> <span class='keyword'>char</span> *text;</td></tr>
+<tr class="codeline" data-linenumber="683"><td class="num" id="LN683">683</td><td class="line"> <span class='keyword'>char</span> ipv4_text [<span class='macro'>INET_ADDRSTRLEN<span class='macro_popup'>16</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="684"><td class="num" id="LN684">684</td><td class="line"> <span class='keyword'>char</span> ipv6_text [<span class='macro'>INET6_ADDRSTRLEN<span class='macro_popup'>46</span></span>];</td></tr>
+<tr class="codeline" data-linenumber="685"><td class="num" id="LN685">685</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="686"><td class="num" id="LN686">686</td><td class="line"> <span class='keyword'>if</span> (<span class="mrange">applet-&gt;devinfo-&gt;ip</span>) {</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path8" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">8</div></td><td><div class="PathNav"><a href="#Path7" title="Previous event (7)">&#x2190;</a></div></td><td>Assuming field 'ip' is 0</td><td><div class="PathNav"><a href="#Path9" title="Next event (9)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path9" class="msg msgControl" style="margin-left:5ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">9</div></td><td><div class="PathNav"><a href="#Path8" title="Previous event (8)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path10" title="Next event (10)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="687"><td class="num" id="LN687">687</td><td class="line"> format_ipv4 (applet-&gt;devinfo-&gt;ip, ipv4_text);</td></tr>
+<tr class="codeline" data-linenumber="688"><td class="num" id="LN688">688</td><td class="line"> text = ipv4_text;</td></tr>
+<tr class="codeline" data-linenumber="689"><td class="num" id="LN689">689</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="690"><td class="num" id="LN690">690</td><td class="line"> text = <span class='macro'>_(<span class='string_literal'>"none"</span>)<span class='macro_popup'>dcgettext (((void*)0), "none", 5)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="691"><td class="num" id="LN691">691</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="692"><td class="num" id="LN692">692</td><td class="line"> gtk_label_set_text (<span class='macro'>GTK_LABEL (applet-&gt;ip_text)<span class='macro_popup'>((((GtkLabel*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;ip_text)), ((gtk_label_get_type ()))))))</span></span>, text);</td></tr>
+<tr class="codeline" data-linenumber="693"><td class="num" id="LN693">693</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="694"><td class="num" id="LN694">694</td><td class="line"> <span class='keyword'>if</span> (<span class="mrange">applet-&gt;devinfo-&gt;netmask</span>) {</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path10" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">10</div></td><td><div class="PathNav"><a href="#Path9" title="Previous event (9)">&#x2190;</a></div></td><td>Assuming field 'netmask' is 0</td><td><div class="PathNav"><a href="#Path11" title="Next event (11)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path11" class="msg msgControl" style="margin-left:5ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">11</div></td><td><div class="PathNav"><a href="#Path10" title="Previous event (10)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path12" title="Next event (12)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="695"><td class="num" id="LN695">695</td><td class="line"> format_ipv4 (applet-&gt;devinfo-&gt;netmask, ipv4_text);</td></tr>
+<tr class="codeline" data-linenumber="696"><td class="num" id="LN696">696</td><td class="line"> text = ipv4_text;</td></tr>
+<tr class="codeline" data-linenumber="697"><td class="num" id="LN697">697</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="698"><td class="num" id="LN698">698</td><td class="line"> text = <span class='macro'>_(<span class='string_literal'>"none"</span>)<span class='macro_popup'>dcgettext (((void*)0), "none", 5)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="699"><td class="num" id="LN699">699</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="700"><td class="num" id="LN700">700</td><td class="line"> gtk_label_set_text (<span class='macro'>GTK_LABEL (applet-&gt;netmask_text)<span class='macro_popup'>((((GtkLabel*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;netmask_text)), ((gtk_label_get_type ()))))))</span></span>, text);</td></tr>
+<tr class="codeline" data-linenumber="701"><td class="num" id="LN701">701</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="702"><td class="num" id="LN702">702</td><td class="line"> <span class='keyword'>if</span> (<span class="mrange">applet-&gt;devinfo-&gt;type != DEV_LO</span>) {</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path12" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">12</div></td><td><div class="PathNav"><a href="#Path11" title="Previous event (11)">&#x2190;</a></div></td><td>Assuming field 'type' is not equal to DEV_LO</td><td><div class="PathNav"><a href="#Path13" title="Next event (13)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path13" class="msg msgControl" style="margin-left:5ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">13</div></td><td><div class="PathNav"><a href="#Path12" title="Previous event (12)">&#x2190;</a></div></td><td>Taking true branch</td><td><div class="PathNav"><a href="#Path14" title="Next event (14)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="703"><td class="num" id="LN703">703</td><td class="line"> text = mac_addr_n2a (applet-&gt;devinfo-&gt;hwaddr);</td></tr>
+<tr class="codeline" data-linenumber="704"><td class="num" id="LN704">704</td><td class="line"> gtk_label_set_text (<span class='macro'>GTK_LABEL (applet-&gt;hwaddr_text)<span class='macro_popup'>((((GtkLabel*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;hwaddr_text)), ((gtk_label_get_type ()))))))</span></span>, text);</td></tr>
+<tr class="codeline" data-linenumber="705"><td class="num" id="LN705">705</td><td class="line"> g_free (text);</td></tr>
+<tr class="codeline" data-linenumber="706"><td class="num" id="LN706">706</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="707"><td class="num" id="LN707">707</td><td class="line"> gtk_label_set_text (<span class='macro'>GTK_LABEL (applet-&gt;hwaddr_text)<span class='macro_popup'>((((GtkLabel*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;hwaddr_text)), ((gtk_label_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"none"</span>)<span class='macro_popup'>dcgettext (((void*)0), "none", 5)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="708"><td class="num" id="LN708">708</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="709"><td class="num" id="LN709">709</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="710"><td class="num" id="LN710">710</td><td class="line"> <span class='keyword'>if</span> (<span class="mrange">applet-&gt;devinfo-&gt;ptpip</span>) {</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path14" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">14</div></td><td><div class="PathNav"><a href="#Path13" title="Previous event (13)">&#x2190;</a></div></td><td>Assuming field 'ptpip' is 0</td><td><div class="PathNav"><a href="#Path15" title="Next event (15)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path15" class="msg msgControl" style="margin-left:5ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">15</div></td><td><div class="PathNav"><a href="#Path14" title="Previous event (14)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path16" title="Next event (16)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="711"><td class="num" id="LN711">711</td><td class="line"> format_ipv4 (applet-&gt;devinfo-&gt;ptpip, ipv4_text);</td></tr>
+<tr class="codeline" data-linenumber="712"><td class="num" id="LN712">712</td><td class="line"> text = ipv4_text;</td></tr>
+<tr class="codeline" data-linenumber="713"><td class="num" id="LN713">713</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="714"><td class="num" id="LN714">714</td><td class="line"> text = <span class='macro'>_(<span class='string_literal'>"none"</span>)<span class='macro_popup'>dcgettext (((void*)0), "none", 5)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="715"><td class="num" id="LN715">715</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="716"><td class="num" id="LN716">716</td><td class="line"> gtk_label_set_text (<span class='macro'>GTK_LABEL (applet-&gt;ptpip_text)<span class='macro_popup'>((((GtkLabel*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;ptpip_text)), ((gtk_label_get_type ()))))))</span></span>, text);</td></tr>
+<tr class="codeline" data-linenumber="717"><td class="num" id="LN717">717</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="718"><td class="num" id="LN718">718</td><td class="line"> <span class='comment'>/* check if we got an ipv6 address */</span></td></tr>
+<tr class="codeline" data-linenumber="719"><td class="num" id="LN719">719</td><td class="line"> format_ipv6 (applet-&gt;devinfo-&gt;ipv6, ipv6_text);</td></tr>
+<tr class="codeline" data-linenumber="720"><td class="num" id="LN720">720</td><td class="line"> <span class='keyword'>if</span> (<span class="mrange">strlen (ipv6_text) &gt; 2</span>) {</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path16" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">16</div></td><td><div class="PathNav"><a href="#Path15" title="Previous event (15)">&#x2190;</a></div></td><td>Assuming the condition is false</td><td><div class="PathNav"><a href="#Path17" title="Next event (17)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path17" class="msg msgControl" style="margin-left:5ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">17</div></td><td><div class="PathNav"><a href="#Path16" title="Previous event (16)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path18" title="Next event (18)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="721"><td class="num" id="LN721">721</td><td class="line"> gtk_label_set_text (<span class='macro'>GTK_LABEL (applet-&gt;ipv6_text)<span class='macro_popup'>((((GtkLabel*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;ipv6_text)), ((gtk_label_get_type ()))))))</span></span>, ipv6_text);</td></tr>
+<tr class="codeline" data-linenumber="722"><td class="num" id="LN722">722</td><td class="line"> gtk_widget_show (applet-&gt;ipv6_box);</td></tr>
+<tr class="codeline" data-linenumber="723"><td class="num" id="LN723">723</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="724"><td class="num" id="LN724">724</td><td class="line"> gtk_widget_hide (applet-&gt;ipv6_box);</td></tr>
+<tr class="codeline" data-linenumber="725"><td class="num" id="LN725">725</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="726"><td class="num" id="LN726">726</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="727"><td class="num" id="LN727">727</td><td class="line"> <span class='keyword'>if</span> (<span class="mrange">applet-&gt;devinfo-&gt;type == DEV_WIRELESS</span>) {</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path18" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">18</div></td><td><div class="PathNav"><a href="#Path17" title="Previous event (17)">&#x2190;</a></div></td><td>Assuming field 'type' is equal to DEV_WIRELESS</td><td><div class="PathNav"><a href="#Path19" title="Next event (19)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path19" class="msg msgControl" style="margin-left:5ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">19</div></td><td><div class="PathNav"><a href="#Path18" title="Previous event (18)">&#x2190;</a></div></td><td>Taking true branch</td><td><div class="PathNav"><a href="#Path20" title="Next event (20)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="728"><td class="num" id="LN728">728</td><td class="line"> <span class='keyword'>float</span> quality;</td></tr>
+<tr class="codeline" data-linenumber="729"><td class="num" id="LN729">729</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="730"><td class="num" id="LN730">730</td><td class="line"> <span class='comment'>/* _maybe_ we can add the encrypted icon between the essid and the signal bar. */</span></td></tr>
+<tr class="codeline" data-linenumber="731"><td class="num" id="LN731">731</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="732"><td class="num" id="LN732">732</td><td class="line"> quality = applet-&gt;devinfo-&gt;qual / 100.0f;</td></tr>
+<tr class="codeline" data-linenumber="733"><td class="num" id="LN733">733</td><td class="line"> <span class='keyword'>if</span> (<span class="mrange">quality &gt; 1.0</span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path20" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">20</div></td><td><div class="PathNav"><a href="#Path19" title="Previous event (19)">&#x2190;</a></div></td><td>Assuming the condition is false</td><td><div class="PathNav"><a href="#Path21" title="Next event (21)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path21" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">21</div></td><td><div class="PathNav"><a href="#Path20" title="Previous event (20)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path22" title="Next event (22)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="734"><td class="num" id="LN734">734</td><td class="line"> quality = 1.0;</td></tr>
+<tr class="codeline" data-linenumber="735"><td class="num" id="LN735">735</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="736"><td class="num" id="LN736">736</td><td class="line"> text = g_strdup_printf (<span class='string_literal'>"%d %%"</span>, applet-&gt;devinfo-&gt;qual);</td></tr>
+<tr class="codeline" data-linenumber="737"><td class="num" id="LN737">737</td><td class="line"> gtk_progress_bar_set_fraction (<span class='macro'>GTK_PROGRESS_BAR (applet-&gt;signalbar)<span class='macro_popup'>((((GtkProgressBar*) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet-&gt;signalbar)), ((gtk_progress_bar_get_type ()))<br>))))</span></span>, quality);</td></tr>
+<tr class="codeline" data-linenumber="738"><td class="num" id="LN738">738</td><td class="line"> gtk_progress_bar_set_text (<span class='macro'>GTK_PROGRESS_BAR (applet-&gt;signalbar)<span class='macro_popup'>((((GtkProgressBar*) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet-&gt;signalbar)), ((gtk_progress_bar_get_type ()))<br>))))</span></span>, text);</td></tr>
+<tr class="codeline" data-linenumber="739"><td class="num" id="LN739">739</td><td class="line"> g_free(text);</td></tr>
+<tr class="codeline" data-linenumber="740"><td class="num" id="LN740">740</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="741"><td class="num" id="LN741">741</td><td class="line"> gtk_label_set_text (<span class='macro'>GTK_LABEL (applet-&gt;essid_text)<span class='macro_popup'>((((GtkLabel*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;essid_text)), ((gtk_label_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="742"><td class="num" id="LN742">742</td><td class="line"> applet-&gt;devinfo-&gt;essid);</td></tr>
+<tr class="codeline" data-linenumber="743"><td class="num" id="LN743">743</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="744"><td class="num" id="LN744">744</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_NL<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="745"><td class="num" id="LN745">745</td><td class="line"> <span class='keyword'>if</span> (<span class="mrange">applet-&gt;devinfo-&gt;running</span>) {</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path22" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">22</div></td><td><div class="PathNav"><a href="#Path21" title="Previous event (21)">&#x2190;</a></div></td><td>Assuming field 'running' is not equal to 0</td><td><div class="PathNav"><a href="#Path23" title="Next event (23)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path23" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">23</div></td><td><div class="PathNav"><a href="#Path22" title="Previous event (22)">&#x2190;</a></div></td><td>Taking true branch</td><td><div class="PathNav"><a href="#Path24" title="Next event (24)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="746"><td class="num" id="LN746">746</td><td class="line"> text = <span class="mrange">mac_addr_n2a (applet-&gt;devinfo-&gt;station_mac_addr)</span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path24" class="msg msgEvent" style="margin-left:20ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">24</div></td><td><div class="PathNav"><a href="#Path23" title="Previous event (23)">&#x2190;</a></div></td><td>Calling 'mac_addr_n2a'</td><td><div class="PathNav"><a href="#EndPath" title="Next event (25)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="747"><td class="num" id="LN747">747</td><td class="line"> gtk_label_set_text (<span class='macro'>GTK_LABEL (applet-&gt;station_text)<span class='macro_popup'>((((GtkLabel*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;station_text)), ((gtk_label_get_type ()))))))</span></span>, text);</td></tr>
+<tr class="codeline" data-linenumber="748"><td class="num" id="LN748">748</td><td class="line"> g_free (text);</td></tr>
+<tr class="codeline" data-linenumber="749"><td class="num" id="LN749">749</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="750"><td class="num" id="LN750">750</td><td class="line"> gtk_label_set_text (<span class='macro'>GTK_LABEL (applet-&gt;station_text)<span class='macro_popup'>((((GtkLabel*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;station_text)), ((gtk_label_get_type ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"unknown"</span>)<span class='macro_popup'>dcgettext (((void*)0), "unknown", 5)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="751"><td class="num" id="LN751">751</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="752"><td class="num" id="LN752">752</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="753"><td class="num" id="LN753">753</td><td class="line"> gtk_label_set_text (<span class='macro'>GTK_LABEL (applet-&gt;channel_text)<span class='macro_popup'>((((GtkLabel*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;channel_text)), ((gtk_label_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="754"><td class="num" id="LN754">754</td><td class="line"> applet-&gt;devinfo-&gt;channel ? applet-&gt;devinfo-&gt;channel : <span class='macro'>_(<span class='string_literal'>"unknown"</span>)<span class='macro_popup'>dcgettext (((void*)0), "unknown", 5)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="755"><td class="num" id="LN755">755</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="756"><td class="num" id="LN756">756</td><td class="line"> text = format_time (applet-&gt;devinfo-&gt;connected_time);</td></tr>
+<tr class="codeline" data-linenumber="757"><td class="num" id="LN757">757</td><td class="line"> gtk_label_set_text (<span class='macro'>GTK_LABEL (applet-&gt;connected_time_text)<span class='macro_popup'>((((GtkLabel*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;connected_time_text)), ((gtk_label_get_type ())))<br>)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="758"><td class="num" id="LN758">758</td><td class="line"> applet-&gt;devinfo-&gt;connected_time &gt; 0 ? text : <span class='macro'>_(<span class='string_literal'>"na"</span>)<span class='macro_popup'>dcgettext (((void*)0), "na", 5)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="759"><td class="num" id="LN759">759</td><td class="line"> g_free (text);</td></tr>
+<tr class="codeline" data-linenumber="760"><td class="num" id="LN760">760</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="761"><td class="num" id="LN761">761</td><td class="line"> gtk_widget_show (applet-&gt;netlink_box);</td></tr>
+<tr class="codeline" data-linenumber="762"><td class="num" id="LN762">762</td><td class="line"><span class='directive'>#else</span></td></tr>
+<tr class="codeline" data-linenumber="763"><td class="num" id="LN763">763</td><td class="line"> gtk_widget_hide (applet-&gt;netlink_box);</td></tr>
+<tr class="codeline" data-linenumber="764"><td class="num" id="LN764">764</td><td class="line"><span class='directive'>#endif /* HAVE_NL */</span></td></tr>
+<tr class="codeline" data-linenumber="765"><td class="num" id="LN765">765</td><td class="line"> gtk_widget_show (applet-&gt;wireless_box);</td></tr>
+<tr class="codeline" data-linenumber="766"><td class="num" id="LN766">766</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="767"><td class="num" id="LN767">767</td><td class="line"> gtk_widget_hide (applet-&gt;wireless_box);</td></tr>
+<tr class="codeline" data-linenumber="768"><td class="num" id="LN768">768</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="769"><td class="num" id="LN769">769</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="770"><td class="num" id="LN770">770</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="771"><td class="num" id="LN771">771</td><td class="line"><span class='comment'>/* Here happens the really interesting stuff */</span></td></tr>
+<tr class="codeline" data-linenumber="772"><td class="num" id="LN772">772</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="773"><td class="num" id="LN773">773</td><td class="line">update_applet (MateNetspeedApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="774"><td class="num" id="LN774">774</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="775"><td class="num" id="LN775">775</td><td class="line"> guint64 indiff, outdiff;</td></tr>
+<tr class="codeline" data-linenumber="776"><td class="num" id="LN776">776</td><td class="line"> <span class='keyword'>double</span> inrate, outrate;</td></tr>
+<tr class="codeline" data-linenumber="777"><td class="num" id="LN777">777</td><td class="line"> <span class='keyword'>char</span> *inbytes, *outbytes;</td></tr>
+<tr class="codeline" data-linenumber="778"><td class="num" id="LN778">778</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="779"><td class="num" id="LN779">779</td><td class="line"> DevInfo *oldinfo;</td></tr>
+<tr class="codeline" data-linenumber="780"><td class="num" id="LN780">780</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="781"><td class="num" id="LN781">781</td><td class="line"> <span class='keyword'>if</span> (!applet) <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="782"><td class="num" id="LN782">782</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="783"><td class="num" id="LN783">783</td><td class="line"> <span class='comment'>/* First we try to figure out if the device has changed */</span></td></tr>
+<tr class="codeline" data-linenumber="784"><td class="num" id="LN784">784</td><td class="line"> oldinfo = applet-&gt;devinfo;</td></tr>
+<tr class="codeline" data-linenumber="785"><td class="num" id="LN785">785</td><td class="line"> get_device_info (oldinfo-&gt;name, &amp;applet-&gt;devinfo);</td></tr>
+<tr class="codeline" data-linenumber="786"><td class="num" id="LN786">786</td><td class="line"> <span class='keyword'>if</span> (compare_device_info (applet-&gt;devinfo, oldinfo))</td></tr>
+<tr class="codeline" data-linenumber="787"><td class="num" id="LN787">787</td><td class="line"> applet-&gt;device_has_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="788"><td class="num" id="LN788">788</td><td class="line"> free_device_info (oldinfo);</td></tr>
+<tr class="codeline" data-linenumber="789"><td class="num" id="LN789">789</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="790"><td class="num" id="LN790">790</td><td class="line"> <span class='comment'>/* If the device has changed, reintialize stuff */</span></td></tr>
+<tr class="codeline" data-linenumber="791"><td class="num" id="LN791">791</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;device_has_changed) {</td></tr>
+<tr class="codeline" data-linenumber="792"><td class="num" id="LN792">792</td><td class="line"> change_icons (applet);</td></tr>
+<tr class="codeline" data-linenumber="793"><td class="num" id="LN793">793</td><td class="line"> change_quality_icon (applet);</td></tr>
+<tr class="codeline" data-linenumber="794"><td class="num" id="LN794">794</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="795"><td class="num" id="LN795">795</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>OLD_VALUES<span class='macro_popup'>5</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="796"><td class="num" id="LN796">796</td><td class="line"> applet-&gt;in_old[i] = applet-&gt;devinfo-&gt;rx;</td></tr>
+<tr class="codeline" data-linenumber="797"><td class="num" id="LN797">797</td><td class="line"> applet-&gt;out_old[i] = applet-&gt;devinfo-&gt;tx;</td></tr>
+<tr class="codeline" data-linenumber="798"><td class="num" id="LN798">798</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="799"><td class="num" id="LN799">799</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="800"><td class="num" id="LN800">800</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>GRAPH_VALUES<span class='macro_popup'>180</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="801"><td class="num" id="LN801">801</td><td class="line"> applet-&gt;in_graph[i] = -1;</td></tr>
+<tr class="codeline" data-linenumber="802"><td class="num" id="LN802">802</td><td class="line"> applet-&gt;out_graph[i] = -1;</td></tr>
+<tr class="codeline" data-linenumber="803"><td class="num" id="LN803">803</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="804"><td class="num" id="LN804">804</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="805"><td class="num" id="LN805">805</td><td class="line"> applet-&gt;max_graph = 0;</td></tr>
+<tr class="codeline" data-linenumber="806"><td class="num" id="LN806">806</td><td class="line"> applet-&gt;index_graph = 0;</td></tr>
+<tr class="codeline" data-linenumber="807"><td class="num" id="LN807">807</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="808"><td class="num" id="LN808">808</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;details) {</td></tr>
+<tr class="codeline" data-linenumber="809"><td class="num" id="LN809">809</td><td class="line"> fill_details_dialog (applet);</td></tr>
+<tr class="codeline" data-linenumber="810"><td class="num" id="LN810">810</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="811"><td class="num" id="LN811">811</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="812"><td class="num" id="LN812">812</td><td class="line"> applet-&gt;device_has_changed = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="813"><td class="num" id="LN813">813</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="814"><td class="num" id="LN814">814</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="815"><td class="num" id="LN815">815</td><td class="line"> <span class='comment'>/* create the strings for the labels and tooltips */</span></td></tr>
+<tr class="codeline" data-linenumber="816"><td class="num" id="LN816">816</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;devinfo-&gt;running) {</td></tr>
+<tr class="codeline" data-linenumber="817"><td class="num" id="LN817">817</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;devinfo-&gt;rx &lt; applet-&gt;in_old[applet-&gt;index_old])</td></tr>
+<tr class="codeline" data-linenumber="818"><td class="num" id="LN818">818</td><td class="line"> indiff = 0;</td></tr>
+<tr class="codeline" data-linenumber="819"><td class="num" id="LN819">819</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="820"><td class="num" id="LN820">820</td><td class="line"> indiff = applet-&gt;devinfo-&gt;rx - applet-&gt;in_old[applet-&gt;index_old];</td></tr>
+<tr class="codeline" data-linenumber="821"><td class="num" id="LN821">821</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="822"><td class="num" id="LN822">822</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;devinfo-&gt;tx &lt; applet-&gt;out_old[applet-&gt;index_old])</td></tr>
+<tr class="codeline" data-linenumber="823"><td class="num" id="LN823">823</td><td class="line"> outdiff = 0;</td></tr>
+<tr class="codeline" data-linenumber="824"><td class="num" id="LN824">824</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="825"><td class="num" id="LN825">825</td><td class="line"> outdiff = applet-&gt;devinfo-&gt;tx - applet-&gt;out_old[applet-&gt;index_old];</td></tr>
+<tr class="codeline" data-linenumber="826"><td class="num" id="LN826">826</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="827"><td class="num" id="LN827">827</td><td class="line"> inrate = (<span class='keyword'>double</span>)indiff / <span class='macro'>OLD_VALUES_DBL<span class='macro_popup'>5.0</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="828"><td class="num" id="LN828">828</td><td class="line"> outrate = (<span class='keyword'>double</span>)outdiff / <span class='macro'>OLD_VALUES_DBL<span class='macro_popup'>5.0</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="829"><td class="num" id="LN829">829</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="830"><td class="num" id="LN830">830</td><td class="line"> applet-&gt;in_graph[applet-&gt;index_graph] = inrate;</td></tr>
+<tr class="codeline" data-linenumber="831"><td class="num" id="LN831">831</td><td class="line"> applet-&gt;out_graph[applet-&gt;index_graph] = outrate;</td></tr>
+<tr class="codeline" data-linenumber="832"><td class="num" id="LN832">832</td><td class="line"> applet-&gt;max_graph = <span class='macro'>MAX(inrate, applet-&gt;max_graph)<span class='macro_popup'>(((inrate) &gt; (applet-&gt;max_graph)) ? (inrate) : (applet-&gt;<br>max_graph))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="833"><td class="num" id="LN833">833</td><td class="line"> applet-&gt;max_graph = <span class='macro'>MAX(outrate, applet-&gt;max_graph)<span class='macro_popup'>(((outrate) &gt; (applet-&gt;max_graph)) ? (outrate) : (applet<br>-&gt;max_graph))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="834"><td class="num" id="LN834">834</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="835"><td class="num" id="LN835">835</td><td class="line"> format_transfer_rate (applet-&gt;devinfo-&gt;rx_rate, inrate, applet-&gt;show_bits);</td></tr>
+<tr class="codeline" data-linenumber="836"><td class="num" id="LN836">836</td><td class="line"> format_transfer_rate (applet-&gt;devinfo-&gt;tx_rate, outrate, applet-&gt;show_bits);</td></tr>
+<tr class="codeline" data-linenumber="837"><td class="num" id="LN837">837</td><td class="line"> format_transfer_rate (applet-&gt;devinfo-&gt;sum_rate, inrate + outrate, applet-&gt;show_bits);</td></tr>
+<tr class="codeline" data-linenumber="838"><td class="num" id="LN838">838</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="839"><td class="num" id="LN839">839</td><td class="line"> applet-&gt;devinfo-&gt;rx_rate[0] = '\0';</td></tr>
+<tr class="codeline" data-linenumber="840"><td class="num" id="LN840">840</td><td class="line"> applet-&gt;devinfo-&gt;tx_rate[0] = '\0';</td></tr>
+<tr class="codeline" data-linenumber="841"><td class="num" id="LN841">841</td><td class="line"> applet-&gt;devinfo-&gt;sum_rate[0] = '\0';</td></tr>
+<tr class="codeline" data-linenumber="842"><td class="num" id="LN842">842</td><td class="line"> applet-&gt;in_graph[applet-&gt;index_graph] = 0;</td></tr>
+<tr class="codeline" data-linenumber="843"><td class="num" id="LN843">843</td><td class="line"> applet-&gt;out_graph[applet-&gt;index_graph] = 0;</td></tr>
+<tr class="codeline" data-linenumber="844"><td class="num" id="LN844">844</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="845"><td class="num" id="LN845">845</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="846"><td class="num" id="LN846">846</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;devinfo-&gt;type == DEV_WIRELESS) {</td></tr>
+<tr class="codeline" data-linenumber="847"><td class="num" id="LN847">847</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;devinfo-&gt;up)</td></tr>
+<tr class="codeline" data-linenumber="848"><td class="num" id="LN848">848</td><td class="line"> update_quality_icon(applet);</td></tr>
+<tr class="codeline" data-linenumber="849"><td class="num" id="LN849">849</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="850"><td class="num" id="LN850">850</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;signalbar) {</td></tr>
+<tr class="codeline" data-linenumber="851"><td class="num" id="LN851">851</td><td class="line"> <span class='keyword'>float</span> quality;</td></tr>
+<tr class="codeline" data-linenumber="852"><td class="num" id="LN852">852</td><td class="line"> <span class='keyword'>char</span> *text;</td></tr>
+<tr class="codeline" data-linenumber="853"><td class="num" id="LN853">853</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="854"><td class="num" id="LN854">854</td><td class="line"> quality = applet-&gt;devinfo-&gt;qual / 100.0f;</td></tr>
+<tr class="codeline" data-linenumber="855"><td class="num" id="LN855">855</td><td class="line"> <span class='keyword'>if</span> (quality &gt; 1.0)</td></tr>
+<tr class="codeline" data-linenumber="856"><td class="num" id="LN856">856</td><td class="line"> quality = 1.0;</td></tr>
+<tr class="codeline" data-linenumber="857"><td class="num" id="LN857">857</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="858"><td class="num" id="LN858">858</td><td class="line"> text = g_strdup_printf (<span class='string_literal'>"%d %%"</span>, applet-&gt;devinfo-&gt;qual);</td></tr>
+<tr class="codeline" data-linenumber="859"><td class="num" id="LN859">859</td><td class="line"> gtk_progress_bar_set_fraction (<span class='macro'>GTK_PROGRESS_BAR (applet-&gt;signalbar)<span class='macro_popup'>((((GtkProgressBar*) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet-&gt;signalbar)), ((gtk_progress_bar_get_type ()))<br>))))</span></span>, quality);</td></tr>
+<tr class="codeline" data-linenumber="860"><td class="num" id="LN860">860</td><td class="line"> gtk_progress_bar_set_text (<span class='macro'>GTK_PROGRESS_BAR (applet-&gt;signalbar)<span class='macro_popup'>((((GtkProgressBar*) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet-&gt;signalbar)), ((gtk_progress_bar_get_type ()))<br>))))</span></span>, text);</td></tr>
+<tr class="codeline" data-linenumber="861"><td class="num" id="LN861">861</td><td class="line"> g_free(text);</td></tr>
+<tr class="codeline" data-linenumber="862"><td class="num" id="LN862">862</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="863"><td class="num" id="LN863">863</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_NL<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="864"><td class="num" id="LN864">864</td><td class="line"> <span class='comment'>/* Refresh the value of Connected Time */</span></td></tr>
+<tr class="codeline" data-linenumber="865"><td class="num" id="LN865">865</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;connected_time_text) {</td></tr>
+<tr class="codeline" data-linenumber="866"><td class="num" id="LN866">866</td><td class="line"> <span class='keyword'>char</span> *text;</td></tr>
+<tr class="codeline" data-linenumber="867"><td class="num" id="LN867">867</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="868"><td class="num" id="LN868">868</td><td class="line"> text = format_time (applet-&gt;devinfo-&gt;connected_time);</td></tr>
+<tr class="codeline" data-linenumber="869"><td class="num" id="LN869">869</td><td class="line"> gtk_label_set_text (<span class='macro'>GTK_LABEL (applet-&gt;connected_time_text)<span class='macro_popup'>((((GtkLabel*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;connected_time_text)), ((gtk_label_get_type ())))<br>)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="870"><td class="num" id="LN870">870</td><td class="line"> applet-&gt;devinfo-&gt;connected_time &gt; 0 ? text : <span class='macro'>_(<span class='string_literal'>"na"</span>)<span class='macro_popup'>dcgettext (((void*)0), "na", 5)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="871"><td class="num" id="LN871">871</td><td class="line"> g_free (text);</td></tr>
+<tr class="codeline" data-linenumber="872"><td class="num" id="LN872">872</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="873"><td class="num" id="LN873">873</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="874"><td class="num" id="LN874">874</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="875"><td class="num" id="LN875">875</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="876"><td class="num" id="LN876">876</td><td class="line"> update_tooltip(applet);</td></tr>
+<tr class="codeline" data-linenumber="877"><td class="num" id="LN877">877</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="878"><td class="num" id="LN878">878</td><td class="line"> <span class='comment'>/* Refresh the text of the labels and tooltip */</span></td></tr>
+<tr class="codeline" data-linenumber="879"><td class="num" id="LN879">879</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;show_sum) {</td></tr>
+<tr class="codeline" data-linenumber="880"><td class="num" id="LN880">880</td><td class="line"> gtk_label_set_text (<span class='macro'>GTK_LABEL (applet-&gt;sum_label)<span class='macro_popup'>((((GtkLabel*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;sum_label)), ((gtk_label_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="881"><td class="num" id="LN881">881</td><td class="line"> applet-&gt;devinfo-&gt;sum_rate);</td></tr>
+<tr class="codeline" data-linenumber="882"><td class="num" id="LN882">882</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="883"><td class="num" id="LN883">883</td><td class="line"> gtk_label_set_text (<span class='macro'>GTK_LABEL (applet-&gt;in_label)<span class='macro_popup'>((((GtkLabel*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;in_label)), ((gtk_label_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="884"><td class="num" id="LN884">884</td><td class="line"> applet-&gt;devinfo-&gt;rx_rate);</td></tr>
+<tr class="codeline" data-linenumber="885"><td class="num" id="LN885">885</td><td class="line"> gtk_label_set_text (<span class='macro'>GTK_LABEL (applet-&gt;out_label)<span class='macro_popup'>((((GtkLabel*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;out_label)), ((gtk_label_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="886"><td class="num" id="LN886">886</td><td class="line"> applet-&gt;devinfo-&gt;tx_rate);</td></tr>
+<tr class="codeline" data-linenumber="887"><td class="num" id="LN887">887</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="888"><td class="num" id="LN888">888</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="889"><td class="num" id="LN889">889</td><td class="line"> <span class='comment'>/* Refresh the values of the Infodialog */</span></td></tr>
+<tr class="codeline" data-linenumber="890"><td class="num" id="LN890">890</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;inbytes_text) {</td></tr>
+<tr class="codeline" data-linenumber="891"><td class="num" id="LN891">891</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;show_bits)</td></tr>
+<tr class="codeline" data-linenumber="892"><td class="num" id="LN892">892</td><td class="line"> inbytes = g_format_size_full (applet-&gt;devinfo-&gt;rx*8,</td></tr>
+<tr class="codeline" data-linenumber="893"><td class="num" id="LN893">893</td><td class="line"> G_FORMAT_SIZE_IEC_UNITS | G_FORMAT_SIZE_BITS);</td></tr>
+<tr class="codeline" data-linenumber="894"><td class="num" id="LN894">894</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="895"><td class="num" id="LN895">895</td><td class="line"> inbytes = g_format_size_full (applet-&gt;devinfo-&gt;rx,</td></tr>
+<tr class="codeline" data-linenumber="896"><td class="num" id="LN896">896</td><td class="line"> G_FORMAT_SIZE_IEC_UNITS);</td></tr>
+<tr class="codeline" data-linenumber="897"><td class="num" id="LN897">897</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="898"><td class="num" id="LN898">898</td><td class="line"> gtk_label_set_text (<span class='macro'>GTK_LABEL (applet-&gt;inbytes_text)<span class='macro_popup'>((((GtkLabel*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;inbytes_text)), ((gtk_label_get_type ()))))))</span></span>, inbytes);</td></tr>
+<tr class="codeline" data-linenumber="899"><td class="num" id="LN899">899</td><td class="line"> g_free (inbytes);</td></tr>
+<tr class="codeline" data-linenumber="900"><td class="num" id="LN900">900</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="901"><td class="num" id="LN901">901</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;outbytes_text) {</td></tr>
+<tr class="codeline" data-linenumber="902"><td class="num" id="LN902">902</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;show_bits)</td></tr>
+<tr class="codeline" data-linenumber="903"><td class="num" id="LN903">903</td><td class="line"> outbytes = g_format_size_full (applet-&gt;devinfo-&gt;tx*8,</td></tr>
+<tr class="codeline" data-linenumber="904"><td class="num" id="LN904">904</td><td class="line"> G_FORMAT_SIZE_IEC_UNITS | G_FORMAT_SIZE_BITS);</td></tr>
+<tr class="codeline" data-linenumber="905"><td class="num" id="LN905">905</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="906"><td class="num" id="LN906">906</td><td class="line"> outbytes = g_format_size_full (applet-&gt;devinfo-&gt;tx,</td></tr>
+<tr class="codeline" data-linenumber="907"><td class="num" id="LN907">907</td><td class="line"> G_FORMAT_SIZE_IEC_UNITS);</td></tr>
+<tr class="codeline" data-linenumber="908"><td class="num" id="LN908">908</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="909"><td class="num" id="LN909">909</td><td class="line"> gtk_label_set_text (<span class='macro'>GTK_LABEL (applet-&gt;outbytes_text)<span class='macro_popup'>((((GtkLabel*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;outbytes_text)), ((gtk_label_get_type ()))))))</span></span>, outbytes);</td></tr>
+<tr class="codeline" data-linenumber="910"><td class="num" id="LN910">910</td><td class="line"> g_free (outbytes);</td></tr>
+<tr class="codeline" data-linenumber="911"><td class="num" id="LN911">911</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="912"><td class="num" id="LN912">912</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="913"><td class="num" id="LN913">913</td><td class="line"> <span class='comment'>/* Redraw the graph of the Infodialog */</span></td></tr>
+<tr class="codeline" data-linenumber="914"><td class="num" id="LN914">914</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;drawingarea)</td></tr>
+<tr class="codeline" data-linenumber="915"><td class="num" id="LN915">915</td><td class="line"> gtk_widget_queue_draw (<span class='macro'>GTK_WIDGET (applet-&gt;drawingarea)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;drawingarea)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="916"><td class="num" id="LN916">916</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="917"><td class="num" id="LN917">917</td><td class="line"> <span class='comment'>/* Save old values... */</span></td></tr>
+<tr class="codeline" data-linenumber="918"><td class="num" id="LN918">918</td><td class="line"> applet-&gt;in_old [applet-&gt;index_old] = applet-&gt;devinfo-&gt;rx;</td></tr>
+<tr class="codeline" data-linenumber="919"><td class="num" id="LN919">919</td><td class="line"> applet-&gt;out_old [applet-&gt;index_old] = applet-&gt;devinfo-&gt;tx;</td></tr>
+<tr class="codeline" data-linenumber="920"><td class="num" id="LN920">920</td><td class="line"> applet-&gt;index_old = (applet-&gt;index_old + 1) % <span class='macro'>OLD_VALUES<span class='macro_popup'>5</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="921"><td class="num" id="LN921">921</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="922"><td class="num" id="LN922">922</td><td class="line"> <span class='comment'>/* Move the graphindex. Check if we can scale down again */</span></td></tr>
+<tr class="codeline" data-linenumber="923"><td class="num" id="LN923">923</td><td class="line"> applet-&gt;index_graph = (applet-&gt;index_graph + 1) % <span class='macro'>GRAPH_VALUES<span class='macro_popup'>180</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="924"><td class="num" id="LN924">924</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;index_graph % 20 == 0) {</td></tr>
+<tr class="codeline" data-linenumber="925"><td class="num" id="LN925">925</td><td class="line"> <span class='keyword'>double</span> max = 0;</td></tr>
+<tr class="codeline" data-linenumber="926"><td class="num" id="LN926">926</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="927"><td class="num" id="LN927">927</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; <span class='macro'>GRAPH_VALUES<span class='macro_popup'>180</span></span>; i++) {</td></tr>
+<tr class="codeline" data-linenumber="928"><td class="num" id="LN928">928</td><td class="line"> max = <span class='macro'>MAX (max, applet-&gt;in_graph[i])<span class='macro_popup'>(((max) &gt; (applet-&gt;in_graph[i])) ? (max) : (applet-&gt;<br>in_graph[i]))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="929"><td class="num" id="LN929">929</td><td class="line"> max = <span class='macro'>MAX (max, applet-&gt;out_graph[i])<span class='macro_popup'>(((max) &gt; (applet-&gt;out_graph[i])) ? (max) : (applet-&gt;<br>out_graph[i]))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="930"><td class="num" id="LN930">930</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="931"><td class="num" id="LN931">931</td><td class="line"> applet-&gt;max_graph = max;</td></tr>
+<tr class="codeline" data-linenumber="932"><td class="num" id="LN932">932</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="933"><td class="num" id="LN933">933</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="934"><td class="num" id="LN934">934</td><td class="line"> <span class='comment'>/* Always follow the default route */</span></td></tr>
+<tr class="codeline" data-linenumber="935"><td class="num" id="LN935">935</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;auto_change_device) {</td></tr>
+<tr class="codeline" data-linenumber="936"><td class="num" id="LN936">936</td><td class="line"> gboolean change_device_now = !applet-&gt;devinfo-&gt;running;</td></tr>
+<tr class="codeline" data-linenumber="937"><td class="num" id="LN937">937</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="938"><td class="num" id="LN938">938</td><td class="line"> <span class='keyword'>if</span> (!change_device_now) {</td></tr>
+<tr class="codeline" data-linenumber="939"><td class="num" id="LN939">939</td><td class="line"> <span class='keyword'>const</span> gchar *default_route;</td></tr>
+<tr class="codeline" data-linenumber="940"><td class="num" id="LN940">940</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="941"><td class="num" id="LN941">941</td><td class="line"> default_route = get_default_route();</td></tr>
+<tr class="codeline" data-linenumber="942"><td class="num" id="LN942">942</td><td class="line"> change_device_now = (default_route != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> &amp;&amp;</td></tr>
+<tr class="codeline" data-linenumber="943"><td class="num" id="LN943">943</td><td class="line"> strcmp (default_route, applet-&gt;devinfo-&gt;name));</td></tr>
+<tr class="codeline" data-linenumber="944"><td class="num" id="LN944">944</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="945"><td class="num" id="LN945">945</td><td class="line"> <span class='keyword'>if</span> (change_device_now) {</td></tr>
+<tr class="codeline" data-linenumber="946"><td class="num" id="LN946">946</td><td class="line"> search_for_up_if(applet);</td></tr>
+<tr class="codeline" data-linenumber="947"><td class="num" id="LN947">947</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="948"><td class="num" id="LN948">948</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="949"><td class="num" id="LN949">949</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="950"><td class="num" id="LN950">950</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="951"><td class="num" id="LN951">951</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="952"><td class="num" id="LN952">952</td><td class="line">timeout_function(MateNetspeedApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="953"><td class="num" id="LN953">953</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="954"><td class="num" id="LN954">954</td><td class="line"> <span class='keyword'>if</span> (!applet)</td></tr>
+<tr class="codeline" data-linenumber="955"><td class="num" id="LN955">955</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="956"><td class="num" id="LN956">956</td><td class="line"> <span class='keyword'>if</span> (!applet-&gt;timeout_id)</td></tr>
+<tr class="codeline" data-linenumber="957"><td class="num" id="LN957">957</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="958"><td class="num" id="LN958">958</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="959"><td class="num" id="LN959">959</td><td class="line"> update_applet(applet);</td></tr>
+<tr class="codeline" data-linenumber="960"><td class="num" id="LN960">960</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="961"><td class="num" id="LN961">961</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="962"><td class="num" id="LN962">962</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="963"><td class="num" id="LN963">963</td><td class="line"><span class='comment'>/* Display a section of netspeed help</span></td></tr>
+<tr class="codeline" data-linenumber="964"><td class="num" id="LN964">964</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="965"><td class="num" id="LN965">965</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="966"><td class="num" id="LN966">966</td><td class="line">display_help (GtkWidget *dialog, <span class='keyword'>const</span> gchar *section)</td></tr>
+<tr class="codeline" data-linenumber="967"><td class="num" id="LN967">967</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="968"><td class="num" id="LN968">968</td><td class="line"> GError *error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="969"><td class="num" id="LN969">969</td><td class="line"> gboolean ret;</td></tr>
+<tr class="codeline" data-linenumber="970"><td class="num" id="LN970">970</td><td class="line"> <span class='keyword'>char</span> *uri;</td></tr>
+<tr class="codeline" data-linenumber="971"><td class="num" id="LN971">971</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="972"><td class="num" id="LN972">972</td><td class="line"> <span class='keyword'>if</span> (section)</td></tr>
+<tr class="codeline" data-linenumber="973"><td class="num" id="LN973">973</td><td class="line"> uri = g_strdup_printf (<span class='string_literal'>"help:mate-netspeed-applet/%s"</span>, section);</td></tr>
+<tr class="codeline" data-linenumber="974"><td class="num" id="LN974">974</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="975"><td class="num" id="LN975">975</td><td class="line"> uri = g_strdup (<span class='string_literal'>"help:mate-netspeed-applet"</span>);</td></tr>
+<tr class="codeline" data-linenumber="976"><td class="num" id="LN976">976</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="977"><td class="num" id="LN977">977</td><td class="line"> ret = gtk_show_uri_on_window (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="978"><td class="num" id="LN978">978</td><td class="line"> uri,</td></tr>
+<tr class="codeline" data-linenumber="979"><td class="num" id="LN979">979</td><td class="line"> gtk_get_current_event_time (),</td></tr>
+<tr class="codeline" data-linenumber="980"><td class="num" id="LN980">980</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="981"><td class="num" id="LN981">981</td><td class="line"> g_free (uri);</td></tr>
+<tr class="codeline" data-linenumber="982"><td class="num" id="LN982">982</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="983"><td class="num" id="LN983">983</td><td class="line"> <span class='keyword'>if</span> (ret == <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="984"><td class="num" id="LN984">984</td><td class="line"> GtkWidget *error_dialog = gtk_message_dialog_new (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="985"><td class="num" id="LN985">985</td><td class="line"> GTK_DIALOG_MODAL,</td></tr>
+<tr class="codeline" data-linenumber="986"><td class="num" id="LN986">986</td><td class="line"> GTK_MESSAGE_ERROR,</td></tr>
+<tr class="codeline" data-linenumber="987"><td class="num" id="LN987">987</td><td class="line"> GTK_BUTTONS_OK,</td></tr>
+<tr class="codeline" data-linenumber="988"><td class="num" id="LN988">988</td><td class="line"> <span class='macro'>_(<span class='string_literal'>"There was an error displaying help:\n%s"</span>)<span class='macro_popup'>dcgettext (((void*)0), "There was an error displaying help:\n%s"<br>, 5)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="989"><td class="num" id="LN989">989</td><td class="line"> error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="990"><td class="num" id="LN990">990</td><td class="line"> <span class='macro'>g_signal_connect (error_dialog, <span class='string_literal'>"response"</span>,<span class='macro_popup'>g_signal_connect_data ((error_dialog), ("response"), (((GCallback<br>) (gtk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="991"><td class="num" id="LN991">991</td><td class="line"> <span class='macro'>G_CALLBACK (gtk_widget_destroy), NULL)<span class='macro_popup'>g_signal_connect_data ((error_dialog), ("response"), (((GCallback<br>) (gtk_widget_destroy))), (((void*)0)), ((void*)0), (GConnectFlags<br>) 0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="992"><td class="num" id="LN992">992</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="993"><td class="num" id="LN993">993</td><td class="line"> gtk_window_set_resizable (<span class='macro'>GTK_WINDOW (error_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(error_dialog)), ((gtk_window_get_type ()))))))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="994"><td class="num" id="LN994">994</td><td class="line"> gtk_window_set_screen (<span class='macro'>GTK_WINDOW (error_dialog)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(error_dialog)), ((gtk_window_get_type ()))))))</span></span>, gtk_widget_get_screen (dialog));</td></tr>
+<tr class="codeline" data-linenumber="995"><td class="num" id="LN995">995</td><td class="line"> gtk_widget_show (error_dialog);</td></tr>
+<tr class="codeline" data-linenumber="996"><td class="num" id="LN996">996</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="997"><td class="num" id="LN997">997</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="998"><td class="num" id="LN998">998</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="999"><td class="num" id="LN999">999</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1000"><td class="num" id="LN1000">1000</td><td class="line"><span class='comment'>/* Opens gnome help application</span></td></tr>
+<tr class="codeline" data-linenumber="1001"><td class="num" id="LN1001">1001</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1002"><td class="num" id="LN1002">1002</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1003"><td class="num" id="LN1003">1003</td><td class="line">help_cb (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="1004"><td class="num" id="LN1004">1004</td><td class="line"> MateNetspeedApplet *ap)</td></tr>
+<tr class="codeline" data-linenumber="1005"><td class="num" id="LN1005">1005</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1006"><td class="num" id="LN1006">1006</td><td class="line"> display_help (<span class='macro'>GTK_WIDGET (ap-&gt;applet)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(ap-&gt;applet)), ((gtk_widget_get_type ()))))))</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1007"><td class="num" id="LN1007">1007</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1008"><td class="num" id="LN1008">1008</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1009"><td class="num" id="LN1009">1009</td><td class="line"><span class='comment'>/* Just the about window... If it's already open, just fokus it</span></td></tr>
+<tr class="codeline" data-linenumber="1010"><td class="num" id="LN1010">1010</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1011"><td class="num" id="LN1011">1011</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1012"><td class="num" id="LN1012">1012</td><td class="line">about_cb(GtkAction *action, gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="1013"><td class="num" id="LN1013">1013</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1014"><td class="num" id="LN1014">1014</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *authors[] =</td></tr>
+<tr class="codeline" data-linenumber="1015"><td class="num" id="LN1015">1015</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1016"><td class="num" id="LN1016">1016</td><td class="line"> <span class='string_literal'>"Jörgen Scheibengruber &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1017"><td class="num" id="LN1017">1017</td><td class="line"> <span class='string_literal'>"Dennis Cranston &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1018"><td class="num" id="LN1018">1018</td><td class="line"> <span class='string_literal'>"Pedro Villavicencio Garrido &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1019"><td class="num" id="LN1019">1019</td><td class="line"> <span class='string_literal'>"Benoît Dejean &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1020"><td class="num" id="LN1020">1020</td><td class="line"> <span class='string_literal'>"Stefano Karapetsas &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1021"><td class="num" id="LN1021">1021</td><td class="line"> <span class='string_literal'>"Perberos &lt;[email protected]&gt;"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1022"><td class="num" id="LN1022">1022</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="1023"><td class="num" id="LN1023">1023</td><td class="line"> };</td></tr>
+<tr class="codeline" data-linenumber="1024"><td class="num" id="LN1024">1024</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1025"><td class="num" id="LN1025">1025</td><td class="line"> gtk_show_about_dialog (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1026"><td class="num" id="LN1026">1026</td><td class="line"> <span class='string_literal'>"title"</span>, <span class='macro'>_(<span class='string_literal'>"About MATE Netspeed"</span>)<span class='macro_popup'>dcgettext (((void*)0), "About MATE Netspeed", 5)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1027"><td class="num" id="LN1027">1027</td><td class="line"> <span class='string_literal'>"version"</span>, <span class='macro'>VERSION<span class='macro_popup'>"1.25.1"</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1028"><td class="num" id="LN1028">1028</td><td class="line"> <span class='string_literal'>"copyright"</span>, <span class='macro'>_(<span class='string_literal'>"Copyright \xc2\xa9 2002-2003 Jörgen Scheibengruber\n"<span class='macro_popup'>dcgettext (((void*)0), "Copyright \xc2\xa9 2002-2003 Jörgen Scheibengruber\n"<br> "Copyright \xc2\xa9 2011-2014 Stefano Karapetsas\n" "Copyright \xc2\xa9 2015-2020 MATE developers"<br>, 5)</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1029"><td class="num" id="LN1029">1029</td><td class="line"> <span class='string_literal'><span class='macro'>"Copyright \xc2\xa9 2011-2014 Stefano Karapetsas\n"<span class='macro_popup'>dcgettext (((void*)0), "Copyright \xc2\xa9 2002-2003 Jörgen Scheibengruber\n"<br> "Copyright \xc2\xa9 2011-2014 Stefano Karapetsas\n" "Copyright \xc2\xa9 2015-2020 MATE developers"<br>, 5)</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1030"><td class="num" id="LN1030">1030</td><td class="line"> <span class='string_literal'><span class='macro'>"Copyright \xc2\xa9 2015-2020 MATE developers"</span>)<span class='macro_popup'>dcgettext (((void*)0), "Copyright \xc2\xa9 2002-2003 Jörgen Scheibengruber\n"<br> "Copyright \xc2\xa9 2011-2014 Stefano Karapetsas\n" "Copyright \xc2\xa9 2015-2020 MATE developers"<br>, 5)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1031"><td class="num" id="LN1031">1031</td><td class="line"> <span class='string_literal'>"comments"</span>, <span class='macro'>_(<span class='string_literal'>"A little applet that displays some information on the traffic on the specified network device"</span>)<span class='macro_popup'>dcgettext (((void*)0), "A little applet that displays some information on the traffic on the specified network device"<br>, 5)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1032"><td class="num" id="LN1032">1032</td><td class="line"> <span class='string_literal'>"authors"</span>, authors,</td></tr>
+<tr class="codeline" data-linenumber="1033"><td class="num" id="LN1033">1033</td><td class="line"> <span class='string_literal'>"documenters"</span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1034"><td class="num" id="LN1034">1034</td><td class="line"> <span class='string_literal'>"translator-credits"</span>, <span class='macro'>_(<span class='string_literal'>"translator-credits"</span>)<span class='macro_popup'>dcgettext (((void*)0), "translator-credits", 5)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1035"><td class="num" id="LN1035">1035</td><td class="line"> <span class='string_literal'>"website"</span>, <span class='string_literal'>"http://www.mate-desktop.org/"</span>,</td></tr>
+<tr class="codeline" data-linenumber="1036"><td class="num" id="LN1036">1036</td><td class="line"> <span class='string_literal'>"logo-icon-name"</span>, LOGO_ICON,</td></tr>
+<tr class="codeline" data-linenumber="1037"><td class="num" id="LN1037">1037</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1038"><td class="num" id="LN1038">1038</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1039"><td class="num" id="LN1039">1039</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1040"><td class="num" id="LN1040">1040</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1041"><td class="num" id="LN1041">1041</td><td class="line"><span class='comment'>/* this basically just retrieves the new devicestring</span></td></tr>
+<tr class="codeline" data-linenumber="1042"><td class="num" id="LN1042">1042</td><td class="line"> <span class='comment'>* and then calls applet_device_change() and change_icons()</span></td></tr>
+<tr class="codeline" data-linenumber="1043"><td class="num" id="LN1043">1043</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1044"><td class="num" id="LN1044">1044</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1045"><td class="num" id="LN1045">1045</td><td class="line">device_change_cb(GtkComboBox *combo, MateNetspeedApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1046"><td class="num" id="LN1046">1046</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1047"><td class="num" id="LN1047">1047</td><td class="line"> GList *devices;</td></tr>
+<tr class="codeline" data-linenumber="1048"><td class="num" id="LN1048">1048</td><td class="line"> <span class='keyword'>int</span> i, active;</td></tr>
+<tr class="codeline" data-linenumber="1049"><td class="num" id="LN1049">1049</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1050"><td class="num" id="LN1050">1050</td><td class="line"> <span class='macro'>g_assert(combo)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (combo) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_<br>; }), 1)) ; else g_assertion_message_expr (((gchar*) 0), "netspeed.c"<br>, 1050, ((const char*) (__func__)), "combo"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1051"><td class="num" id="LN1051">1051</td><td class="line"> devices = g_object_get_data(<span class='macro'>G_OBJECT(combo)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>combo)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"devices"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1052"><td class="num" id="LN1052">1052</td><td class="line"> active = gtk_combo_box_get_active(combo);</td></tr>
+<tr class="codeline" data-linenumber="1053"><td class="num" id="LN1053">1053</td><td class="line"> <span class='macro'>g_assert(active &gt; -1)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (active &gt; -1) _g_boolean_var_ = 1; else _g_boolean_var_<br> = 0; _g_boolean_var_; }), 1)) ; else g_assertion_message_expr<br> (((gchar*) 0), "netspeed.c", 1053, ((const char*) (__func__)<br>), "active &gt; -1"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1054"><td class="num" id="LN1054">1054</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1055"><td class="num" id="LN1055">1055</td><td class="line"> <span class='keyword'>if</span> (0 == active) {</td></tr>
+<tr class="codeline" data-linenumber="1056"><td class="num" id="LN1056">1056</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;auto_change_device)</td></tr>
+<tr class="codeline" data-linenumber="1057"><td class="num" id="LN1057">1057</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1058"><td class="num" id="LN1058">1058</td><td class="line"> applet-&gt;auto_change_device = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1059"><td class="num" id="LN1059">1059</td><td class="line"> } <span class='keyword'>else</span> {</td></tr>
+<tr class="codeline" data-linenumber="1060"><td class="num" id="LN1060">1060</td><td class="line"> applet-&gt;auto_change_device = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1061"><td class="num" id="LN1061">1061</td><td class="line"> <span class='keyword'>for</span> (i = 1; i &lt; active; i++) {</td></tr>
+<tr class="codeline" data-linenumber="1062"><td class="num" id="LN1062">1062</td><td class="line"> devices = <span class='macro'>g_list_next(devices)<span class='macro_popup'>((devices) ? (((GList *)(devices))-&gt;next) : ((void*)0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1063"><td class="num" id="LN1063">1063</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1064"><td class="num" id="LN1064">1064</td><td class="line"> <span class='keyword'>if</span> (g_str_equal(devices-&gt;data, applet-&gt;devinfo-&gt;name))</td></tr>
+<tr class="codeline" data-linenumber="1065"><td class="num" id="LN1065">1065</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1066"><td class="num" id="LN1066">1066</td><td class="line"> free_device_info (applet-&gt;devinfo);</td></tr>
+<tr class="codeline" data-linenumber="1067"><td class="num" id="LN1067">1067</td><td class="line"> get_device_info (devices-&gt;data, &amp;applet-&gt;devinfo);</td></tr>
+<tr class="codeline" data-linenumber="1068"><td class="num" id="LN1068">1068</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1069"><td class="num" id="LN1069">1069</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1070"><td class="num" id="LN1070">1070</td><td class="line"> applet-&gt;device_has_changed = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1071"><td class="num" id="LN1071">1071</td><td class="line"> update_applet(applet);</td></tr>
+<tr class="codeline" data-linenumber="1072"><td class="num" id="LN1072">1072</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1073"><td class="num" id="LN1073">1073</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1074"><td class="num" id="LN1074">1074</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1075"><td class="num" id="LN1075">1075</td><td class="line"><span class='comment'>/* Handle preference dialog response event</span></td></tr>
+<tr class="codeline" data-linenumber="1076"><td class="num" id="LN1076">1076</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1077"><td class="num" id="LN1077">1077</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1078"><td class="num" id="LN1078">1078</td><td class="line">pref_response_cb (GtkDialog *dialog, gint id, gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="1079"><td class="num" id="LN1079">1079</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1080"><td class="num" id="LN1080">1080</td><td class="line"> MateNetspeedApplet *applet = data;</td></tr>
+<tr class="codeline" data-linenumber="1081"><td class="num" id="LN1081">1081</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1082"><td class="num" id="LN1082">1082</td><td class="line"> <span class='keyword'>if</span>(id == GTK_RESPONSE_HELP){</td></tr>
+<tr class="codeline" data-linenumber="1083"><td class="num" id="LN1083">1083</td><td class="line"> display_help (<span class='macro'>GTK_WIDGET (dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(dialog)), ((gtk_widget_get_type ()))))))</span></span>, <span class='string_literal'>"netspeed_applet-settings"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1084"><td class="num" id="LN1084">1084</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1085"><td class="num" id="LN1085">1085</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1086"><td class="num" id="LN1086">1086</td><td class="line"> g_settings_delay (applet-&gt;gsettings);</td></tr>
+<tr class="codeline" data-linenumber="1087"><td class="num" id="LN1087">1087</td><td class="line"> g_settings_set_string (applet-&gt;gsettings, <span class='string_literal'>"device"</span>, applet-&gt;devinfo-&gt;name);</td></tr>
+<tr class="codeline" data-linenumber="1088"><td class="num" id="LN1088">1088</td><td class="line"> g_settings_set_boolean (applet-&gt;gsettings, <span class='string_literal'>"auto-change-device"</span>, applet-&gt;auto_change_device);</td></tr>
+<tr class="codeline" data-linenumber="1089"><td class="num" id="LN1089">1089</td><td class="line"> g_settings_apply (applet-&gt;gsettings);</td></tr>
+<tr class="codeline" data-linenumber="1090"><td class="num" id="LN1090">1090</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1091"><td class="num" id="LN1091">1091</td><td class="line"> gtk_widget_destroy(<span class='macro'>GTK_WIDGET(applet-&gt;settings)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;settings)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1092"><td class="num" id="LN1092">1092</td><td class="line"> applet-&gt;settings = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1093"><td class="num" id="LN1093">1093</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1094"><td class="num" id="LN1094">1094</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1095"><td class="num" id="LN1095">1095</td><td class="line"><span class='comment'>/* Called when the showsum checkbutton is toggled...</span></td></tr>
+<tr class="codeline" data-linenumber="1096"><td class="num" id="LN1096">1096</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1097"><td class="num" id="LN1097">1097</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1098"><td class="num" id="LN1098">1098</td><td class="line">showsum_change_cb(GtkToggleButton *togglebutton, MateNetspeedApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1099"><td class="num" id="LN1099">1099</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1100"><td class="num" id="LN1100">1100</td><td class="line"> applet-&gt;show_sum = gtk_toggle_button_get_active(togglebutton);</td></tr>
+<tr class="codeline" data-linenumber="1101"><td class="num" id="LN1101">1101</td><td class="line"> applet_change_size_or_orient(applet-&gt;applet, -1, (gpointer)applet);</td></tr>
+<tr class="codeline" data-linenumber="1102"><td class="num" id="LN1102">1102</td><td class="line"> change_icons(applet);</td></tr>
+<tr class="codeline" data-linenumber="1103"><td class="num" id="LN1103">1103</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1104"><td class="num" id="LN1104">1104</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1105"><td class="num" id="LN1105">1105</td><td class="line"><span class='comment'>/* Called when the showbits checkbutton is toggled...</span></td></tr>
+<tr class="codeline" data-linenumber="1106"><td class="num" id="LN1106">1106</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1107"><td class="num" id="LN1107">1107</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1108"><td class="num" id="LN1108">1108</td><td class="line">showbits_change_cb(GtkToggleButton *togglebutton, MateNetspeedApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1109"><td class="num" id="LN1109">1109</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1110"><td class="num" id="LN1110">1110</td><td class="line"> applet-&gt;show_bits = gtk_toggle_button_get_active(togglebutton);</td></tr>
+<tr class="codeline" data-linenumber="1111"><td class="num" id="LN1111">1111</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1112"><td class="num" id="LN1112">1112</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1113"><td class="num" id="LN1113">1113</td><td class="line"><span class='comment'>/* Called when the showicon checkbutton is toggled...</span></td></tr>
+<tr class="codeline" data-linenumber="1114"><td class="num" id="LN1114">1114</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1115"><td class="num" id="LN1115">1115</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1116"><td class="num" id="LN1116">1116</td><td class="line">showicon_change_cb(GtkToggleButton *togglebutton, MateNetspeedApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1117"><td class="num" id="LN1117">1117</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1118"><td class="num" id="LN1118">1118</td><td class="line"> applet-&gt;show_icon = gtk_toggle_button_get_active(togglebutton);</td></tr>
+<tr class="codeline" data-linenumber="1119"><td class="num" id="LN1119">1119</td><td class="line"> change_icons(applet);</td></tr>
+<tr class="codeline" data-linenumber="1120"><td class="num" id="LN1120">1120</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1121"><td class="num" id="LN1121">1121</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1122"><td class="num" id="LN1122">1122</td><td class="line"><span class='comment'>/* Called when the showqualityicon checkbutton is toggled...</span></td></tr>
+<tr class="codeline" data-linenumber="1123"><td class="num" id="LN1123">1123</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1124"><td class="num" id="LN1124">1124</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1125"><td class="num" id="LN1125">1125</td><td class="line">showqualityicon_change_cb(GtkToggleButton *togglebutton, MateNetspeedApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1126"><td class="num" id="LN1126">1126</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1127"><td class="num" id="LN1127">1127</td><td class="line"> applet-&gt;show_quality_icon = gtk_toggle_button_get_active(togglebutton);</td></tr>
+<tr class="codeline" data-linenumber="1128"><td class="num" id="LN1128">1128</td><td class="line"> change_quality_icon(applet);</td></tr>
+<tr class="codeline" data-linenumber="1129"><td class="num" id="LN1129">1129</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1130"><td class="num" id="LN1130">1130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1131"><td class="num" id="LN1131">1131</td><td class="line"><span class='comment'>/* Called when the changeicon checkbutton is toggled...</span></td></tr>
+<tr class="codeline" data-linenumber="1132"><td class="num" id="LN1132">1132</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1133"><td class="num" id="LN1133">1133</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1134"><td class="num" id="LN1134">1134</td><td class="line">changeicon_change_cb(GtkToggleButton *togglebutton, MateNetspeedApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1135"><td class="num" id="LN1135">1135</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1136"><td class="num" id="LN1136">1136</td><td class="line"> applet-&gt;change_icon = gtk_toggle_button_get_active(togglebutton);</td></tr>
+<tr class="codeline" data-linenumber="1137"><td class="num" id="LN1137">1137</td><td class="line"> change_icons(applet);</td></tr>
+<tr class="codeline" data-linenumber="1138"><td class="num" id="LN1138">1138</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1139"><td class="num" id="LN1139">1139</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1140"><td class="num" id="LN1140">1140</td><td class="line"><span class='comment'>/* Creates the settings dialog</span></td></tr>
+<tr class="codeline" data-linenumber="1141"><td class="num" id="LN1141">1141</td><td class="line"> <span class='comment'>* After its been closed, take the new values and store</span></td></tr>
+<tr class="codeline" data-linenumber="1142"><td class="num" id="LN1142">1142</td><td class="line"> <span class='comment'>* them in the gsettings database</span></td></tr>
+<tr class="codeline" data-linenumber="1143"><td class="num" id="LN1143">1143</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1144"><td class="num" id="LN1144">1144</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1145"><td class="num" id="LN1145">1145</td><td class="line">settings_cb (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="1146"><td class="num" id="LN1146">1146</td><td class="line"> gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="1147"><td class="num" id="LN1147">1147</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1148"><td class="num" id="LN1148">1148</td><td class="line"> GtkBuilder *builder;</td></tr>
+<tr class="codeline" data-linenumber="1149"><td class="num" id="LN1149">1149</td><td class="line"> MateNetspeedApplet *applet = (MateNetspeedApplet*)data;</td></tr>
+<tr class="codeline" data-linenumber="1150"><td class="num" id="LN1150">1150</td><td class="line"> GList *ptr, *devices;</td></tr>
+<tr class="codeline" data-linenumber="1151"><td class="num" id="LN1151">1151</td><td class="line"> <span class='keyword'>int</span> i, active = -1;</td></tr>
+<tr class="codeline" data-linenumber="1152"><td class="num" id="LN1152">1152</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1153"><td class="num" id="LN1153">1153</td><td class="line"> <span class='macro'>g_assert(applet)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (applet) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_<br>; }), 1)) ; else g_assertion_message_expr (((gchar*) 0), "netspeed.c"<br>, 1153, ((const char*) (__func__)), "applet"); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1154"><td class="num" id="LN1154">1154</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1155"><td class="num" id="LN1155">1155</td><td class="line"> <span class='keyword'>if</span> (applet-&gt;settings)</td></tr>
+<tr class="codeline" data-linenumber="1156"><td class="num" id="LN1156">1156</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="1157"><td class="num" id="LN1157">1157</td><td class="line"> gtk_window_present(<span class='macro'>GTK_WINDOW(applet-&gt;settings)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;settings)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1158"><td class="num" id="LN1158">1158</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1159"><td class="num" id="LN1159">1159</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1160"><td class="num" id="LN1160">1160</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1161"><td class="num" id="LN1161">1161</td><td class="line"> builder = gtk_builder_new_from_resource (<span class='macro'>NETSPEED_RESOURCE_PATH<span class='macro_popup'>"/org/mate/mate-applets/netspeed/"</span></span> <span class='string_literal'>"netspeed-preferences.ui"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1162"><td class="num" id="LN1162">1162</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1163"><td class="num" id="LN1163">1163</td><td class="line"> applet-&gt;settings = <span class='macro'>GET_DIALOG (<span class='string_literal'>"preferences_dialog"</span>)<span class='macro_popup'>(((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("preferences_dialog"))))<br>, ((gtk_dialog_get_type ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1164"><td class="num" id="LN1164">1164</td><td class="line"> applet-&gt;network_device_combo = <span class='macro'>GET_WIDGET (<span class='string_literal'>"network_device_combo"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("network_device_combo"))<br>)), ((gtk_widget_get_type ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1165"><td class="num" id="LN1165">1165</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1166"><td class="num" id="LN1166">1166</td><td class="line"> gtk_window_set_screen(<span class='macro'>GTK_WINDOW(applet-&gt;settings)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;settings)), ((gtk_window_get_type ()))))))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1167"><td class="num" id="LN1167">1167</td><td class="line"> gtk_widget_get_screen(<span class='macro'>GTK_WIDGET(applet-&gt;settings)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;settings)), ((gtk_widget_get_type ()))))))</span></span>));</td></tr>
+<tr class="codeline" data-linenumber="1168"><td class="num" id="LN1168">1168</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1169"><td class="num" id="LN1169">1169</td><td class="line"> gtk_dialog_set_default_response(<span class='macro'>GTK_DIALOG(applet-&gt;settings)<span class='macro_popup'>((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;settings)), ((gtk_dialog_get_type ()))))))</span></span>, GTK_RESPONSE_CLOSE);</td></tr>
+<tr class="codeline" data-linenumber="1170"><td class="num" id="LN1170">1170</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1171"><td class="num" id="LN1171">1171</td><td class="line"> g_settings_bind (applet-&gt;gsettings, <span class='string_literal'>"show-sum"</span>, gtk_builder_get_object (builder, <span class='string_literal'>"show_sum_checkbutton"</span>), <span class='string_literal'>"active"</span>, G_SETTINGS_BIND_DEFAULT);</td></tr>
+<tr class="codeline" data-linenumber="1172"><td class="num" id="LN1172">1172</td><td class="line"> g_settings_bind (applet-&gt;gsettings, <span class='string_literal'>"show-bits"</span>, gtk_builder_get_object (builder, <span class='string_literal'>"show_bits_checkbutton"</span>), <span class='string_literal'>"active"</span>, G_SETTINGS_BIND_DEFAULT);</td></tr>
+<tr class="codeline" data-linenumber="1173"><td class="num" id="LN1173">1173</td><td class="line"> g_settings_bind (applet-&gt;gsettings, <span class='string_literal'>"show-icon"</span>, gtk_builder_get_object (builder, <span class='string_literal'>"show_icon_checkbutton"</span>), <span class='string_literal'>"active"</span>, G_SETTINGS_BIND_DEFAULT);</td></tr>
+<tr class="codeline" data-linenumber="1174"><td class="num" id="LN1174">1174</td><td class="line"> g_settings_bind (applet-&gt;gsettings, <span class='string_literal'>"show-quality-icon"</span>, gtk_builder_get_object (builder, <span class='string_literal'>"show_quality_icon_checkbutton"</span>), <span class='string_literal'>"active"</span>, G_SETTINGS_BIND_DEFAULT);</td></tr>
+<tr class="codeline" data-linenumber="1175"><td class="num" id="LN1175">1175</td><td class="line"> g_settings_bind (applet-&gt;gsettings, <span class='string_literal'>"change-icon"</span>, gtk_builder_get_object (builder, <span class='string_literal'>"change_icon_checkbutton"</span>), <span class='string_literal'>"active"</span>, G_SETTINGS_BIND_DEFAULT);</td></tr>
+<tr class="codeline" data-linenumber="1176"><td class="num" id="LN1176">1176</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1177"><td class="num" id="LN1177">1177</td><td class="line"> <span class='comment'>/* Default means device with default route set */</span></td></tr>
+<tr class="codeline" data-linenumber="1178"><td class="num" id="LN1178">1178</td><td class="line"> gtk_combo_box_text_append_text(<span class='macro'>GTK_COMBO_BOX_TEXT(applet-&gt;network_device_combo)<span class='macro_popup'>((((GtkComboBoxText*) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet-&gt;network_device_combo)), ((gtk_combo_box_text_get_type<br> ()))))))</span></span>, <span class='macro'>_(<span class='string_literal'>"Default"</span>)<span class='macro_popup'>dcgettext (((void*)0), "Default", 5)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1179"><td class="num" id="LN1179">1179</td><td class="line"> ptr = devices = get_available_devices();</td></tr>
+<tr class="codeline" data-linenumber="1180"><td class="num" id="LN1180">1180</td><td class="line"> <span class='keyword'>for</span> (i = 0; ptr; ptr = <span class='macro'>g_list_next(ptr)<span class='macro_popup'>((ptr) ? (((GList *)(ptr))-&gt;next) : ((void*)0))</span></span>) {</td></tr>
+<tr class="codeline" data-linenumber="1181"><td class="num" id="LN1181">1181</td><td class="line"> gtk_combo_box_text_append_text(<span class='macro'>GTK_COMBO_BOX_TEXT(applet-&gt;network_device_combo)<span class='macro_popup'>((((GtkComboBoxText*) g_type_check_instance_cast ((GTypeInstance<br>*) ((applet-&gt;network_device_combo)), ((gtk_combo_box_text_get_type<br> ()))))))</span></span>, ptr-&gt;data);</td></tr>
+<tr class="codeline" data-linenumber="1182"><td class="num" id="LN1182">1182</td><td class="line"> <span class='keyword'>if</span> (g_str_equal(ptr-&gt;data, applet-&gt;devinfo-&gt;name)) active = (i + 1);</td></tr>
+<tr class="codeline" data-linenumber="1183"><td class="num" id="LN1183">1183</td><td class="line"> ++i;</td></tr>
+<tr class="codeline" data-linenumber="1184"><td class="num" id="LN1184">1184</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1185"><td class="num" id="LN1185">1185</td><td class="line"> <span class='keyword'>if</span> (active &lt; 0 || applet-&gt;auto_change_device) {</td></tr>
+<tr class="codeline" data-linenumber="1186"><td class="num" id="LN1186">1186</td><td class="line"> active = 0;</td></tr>
+<tr class="codeline" data-linenumber="1187"><td class="num" id="LN1187">1187</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1188"><td class="num" id="LN1188">1188</td><td class="line"> gtk_combo_box_set_active(<span class='macro'>GTK_COMBO_BOX(applet-&gt;network_device_combo)<span class='macro_popup'>((((GtkComboBox*) g_type_check_instance_cast ((GTypeInstance*<br>) ((applet-&gt;network_device_combo)), ((gtk_combo_box_get_type<br> ()))))))</span></span>, active);</td></tr>
+<tr class="codeline" data-linenumber="1189"><td class="num" id="LN1189">1189</td><td class="line"> g_object_set_data_full(<span class='macro'>G_OBJECT(applet-&gt;network_device_combo)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>applet-&gt;network_device_combo)), (((GType) ((20) &lt;&lt; (<br>2))))))))</span></span>, <span class='string_literal'>"devices"</span>, devices, (GDestroyNotify)free_devices_list);</td></tr>
+<tr class="codeline" data-linenumber="1190"><td class="num" id="LN1190">1190</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1191"><td class="num" id="LN1191">1191</td><td class="line"> <span class='comment'>/* signals */</span></td></tr>
+<tr class="codeline" data-linenumber="1192"><td class="num" id="LN1192">1192</td><td class="line"> gtk_builder_add_callback_symbols (builder,</td></tr>
+<tr class="codeline" data-linenumber="1193"><td class="num" id="LN1193">1193</td><td class="line"> <span class='string_literal'>"on_network_device_combo_changed"</span>, <span class='macro'>G_CALLBACK (device_change_cb)<span class='macro_popup'>((GCallback) (device_change_cb))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1194"><td class="num" id="LN1194">1194</td><td class="line"> <span class='string_literal'>"on_show_sum_checkbutton_toggled"</span>, <span class='macro'>G_CALLBACK (showsum_change_cb)<span class='macro_popup'>((GCallback) (showsum_change_cb))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1195"><td class="num" id="LN1195">1195</td><td class="line"> <span class='string_literal'>"on_show_bits_checkbutton_toggled"</span>, <span class='macro'>G_CALLBACK(showbits_change_cb)<span class='macro_popup'>((GCallback) (showbits_change_cb))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1196"><td class="num" id="LN1196">1196</td><td class="line"> <span class='string_literal'>"on_change_icon_checkbutton_toggled"</span>, <span class='macro'>G_CALLBACK (changeicon_change_cb)<span class='macro_popup'>((GCallback) (changeicon_change_cb))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1197"><td class="num" id="LN1197">1197</td><td class="line"> <span class='string_literal'>"on_show_icon_checkbutton_toggled"</span>, <span class='macro'>G_CALLBACK (showicon_change_cb)<span class='macro_popup'>((GCallback) (showicon_change_cb))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1198"><td class="num" id="LN1198">1198</td><td class="line"> <span class='string_literal'>"on_show_quality_icon_checkbutton_toggled"</span>, <span class='macro'>G_CALLBACK (showqualityicon_change_cb)<span class='macro_popup'>((GCallback) (showqualityicon_change_cb))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1199"><td class="num" id="LN1199">1199</td><td class="line"> <span class='string_literal'>"on_preferences_dialog_response"</span>, <span class='macro'>G_CALLBACK(pref_response_cb)<span class='macro_popup'>((GCallback) (pref_response_cb))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1200"><td class="num" id="LN1200">1200</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1201"><td class="num" id="LN1201">1201</td><td class="line"> gtk_builder_connect_signals (builder, applet);</td></tr>
+<tr class="codeline" data-linenumber="1202"><td class="num" id="LN1202">1202</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1203"><td class="num" id="LN1203">1203</td><td class="line"> g_object_unref (builder);</td></tr>
+<tr class="codeline" data-linenumber="1204"><td class="num" id="LN1204">1204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1205"><td class="num" id="LN1205">1205</td><td class="line"> gtk_widget_show_all(<span class='macro'>GTK_WIDGET(applet-&gt;settings)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;settings)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1206"><td class="num" id="LN1206">1206</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1207"><td class="num" id="LN1207">1207</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1208"><td class="num" id="LN1208">1208</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="1209"><td class="num" id="LN1209">1209</td><td class="line">da_draw(GtkWidget *widget, cairo_t *cr, gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="1210"><td class="num" id="LN1210">1210</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1211"><td class="num" id="LN1211">1211</td><td class="line"> MateNetspeedApplet *applet = (MateNetspeedApplet*)data;</td></tr>
+<tr class="codeline" data-linenumber="1212"><td class="num" id="LN1212">1212</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1213"><td class="num" id="LN1213">1213</td><td class="line"> redraw_graph(applet, cr);</td></tr>
+<tr class="codeline" data-linenumber="1214"><td class="num" id="LN1214">1214</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1215"><td class="num" id="LN1215">1215</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1216"><td class="num" id="LN1216">1216</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1217"><td class="num" id="LN1217">1217</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1218"><td class="num" id="LN1218">1218</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1219"><td class="num" id="LN1219">1219</td><td class="line">incolor_changed_cb (GtkColorChooser *button, gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="1220"><td class="num" id="LN1220">1220</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1221"><td class="num" id="LN1221">1221</td><td class="line"> MateNetspeedApplet *applet = (MateNetspeedApplet*)data;</td></tr>
+<tr class="codeline" data-linenumber="1222"><td class="num" id="LN1222">1222</td><td class="line"> GdkRGBA color;</td></tr>
+<tr class="codeline" data-linenumber="1223"><td class="num" id="LN1223">1223</td><td class="line"> gchar *string;</td></tr>
+<tr class="codeline" data-linenumber="1224"><td class="num" id="LN1224">1224</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1225"><td class="num" id="LN1225">1225</td><td class="line"> gtk_color_chooser_get_rgba (<span class='macro'>GTK_COLOR_CHOOSER (button)<span class='macro_popup'>((((GtkColorChooser*) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_color_chooser_get_type ()))))))</span></span>, &amp;color);</td></tr>
+<tr class="codeline" data-linenumber="1226"><td class="num" id="LN1226">1226</td><td class="line"> applet-&gt;in_color = color;</td></tr>
+<tr class="codeline" data-linenumber="1227"><td class="num" id="LN1227">1227</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1228"><td class="num" id="LN1228">1228</td><td class="line"> string = gdk_rgba_to_string (&amp;color);</td></tr>
+<tr class="codeline" data-linenumber="1229"><td class="num" id="LN1229">1229</td><td class="line"> g_settings_set_string (applet-&gt;gsettings, <span class='string_literal'>"in-color"</span>, string);</td></tr>
+<tr class="codeline" data-linenumber="1230"><td class="num" id="LN1230">1230</td><td class="line"> g_free (string);</td></tr>
+<tr class="codeline" data-linenumber="1231"><td class="num" id="LN1231">1231</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1232"><td class="num" id="LN1232">1232</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1233"><td class="num" id="LN1233">1233</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1234"><td class="num" id="LN1234">1234</td><td class="line">outcolor_changed_cb (GtkColorChooser *button, gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="1235"><td class="num" id="LN1235">1235</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1236"><td class="num" id="LN1236">1236</td><td class="line"> MateNetspeedApplet *applet = (MateNetspeedApplet*)data;</td></tr>
+<tr class="codeline" data-linenumber="1237"><td class="num" id="LN1237">1237</td><td class="line"> GdkRGBA color;</td></tr>
+<tr class="codeline" data-linenumber="1238"><td class="num" id="LN1238">1238</td><td class="line"> gchar *string;</td></tr>
+<tr class="codeline" data-linenumber="1239"><td class="num" id="LN1239">1239</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1240"><td class="num" id="LN1240">1240</td><td class="line"> gtk_color_chooser_get_rgba (<span class='macro'>GTK_COLOR_CHOOSER (button)<span class='macro_popup'>((((GtkColorChooser*) g_type_check_instance_cast ((GTypeInstance<br>*) ((button)), ((gtk_color_chooser_get_type ()))))))</span></span>, &amp;color);</td></tr>
+<tr class="codeline" data-linenumber="1241"><td class="num" id="LN1241">1241</td><td class="line"> applet-&gt;out_color = color;</td></tr>
+<tr class="codeline" data-linenumber="1242"><td class="num" id="LN1242">1242</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1243"><td class="num" id="LN1243">1243</td><td class="line"> string = gdk_rgba_to_string (&amp;color);</td></tr>
+<tr class="codeline" data-linenumber="1244"><td class="num" id="LN1244">1244</td><td class="line"> g_settings_set_string (applet-&gt;gsettings, <span class='string_literal'>"out-color"</span>, string);</td></tr>
+<tr class="codeline" data-linenumber="1245"><td class="num" id="LN1245">1245</td><td class="line"> g_free (string);</td></tr>
+<tr class="codeline" data-linenumber="1246"><td class="num" id="LN1246">1246</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1247"><td class="num" id="LN1247">1247</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1248"><td class="num" id="LN1248">1248</td><td class="line"><span class='comment'>/* Handle info dialog response event</span></td></tr>
+<tr class="codeline" data-linenumber="1249"><td class="num" id="LN1249">1249</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1250"><td class="num" id="LN1250">1250</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1251"><td class="num" id="LN1251">1251</td><td class="line">info_response_cb (GtkDialog *dialog,</td></tr>
+<tr class="codeline" data-linenumber="1252"><td class="num" id="LN1252">1252</td><td class="line"> gint id,</td></tr>
+<tr class="codeline" data-linenumber="1253"><td class="num" id="LN1253">1253</td><td class="line"> MateNetspeedApplet *applet)</td></tr>
+<tr class="codeline" data-linenumber="1254"><td class="num" id="LN1254">1254</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1255"><td class="num" id="LN1255">1255</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1256"><td class="num" id="LN1256">1256</td><td class="line"> <span class='keyword'>if</span> (id == GTK_RESPONSE_HELP) {</td></tr>
+<tr class="codeline" data-linenumber="1257"><td class="num" id="LN1257">1257</td><td class="line"> display_help (<span class='macro'>GTK_WIDGET (dialog)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(dialog)), ((gtk_widget_get_type ()))))))</span></span>, <span class='string_literal'>"netspeed_applet-details"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1258"><td class="num" id="LN1258">1258</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1259"><td class="num" id="LN1259">1259</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1260"><td class="num" id="LN1260">1260</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1261"><td class="num" id="LN1261">1261</td><td class="line"> gtk_widget_destroy(<span class='macro'>GTK_WIDGET(applet-&gt;details)<span class='macro_popup'>((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;details)), ((gtk_widget_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1262"><td class="num" id="LN1262">1262</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1263"><td class="num" id="LN1263">1263</td><td class="line"> applet-&gt;details = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1264"><td class="num" id="LN1264">1264</td><td class="line"> applet-&gt;drawingarea = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1265"><td class="num" id="LN1265">1265</td><td class="line"> applet-&gt;ip_text = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1266"><td class="num" id="LN1266">1266</td><td class="line"> applet-&gt;netmask_text = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1267"><td class="num" id="LN1267">1267</td><td class="line"> applet-&gt;ptpip_text = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1268"><td class="num" id="LN1268">1268</td><td class="line"> applet-&gt;ipv6_text = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1269"><td class="num" id="LN1269">1269</td><td class="line"> applet-&gt;hwaddr_text = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1270"><td class="num" id="LN1270">1270</td><td class="line"> applet-&gt;inbytes_text = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1271"><td class="num" id="LN1271">1271</td><td class="line"> applet-&gt;outbytes_text = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1272"><td class="num" id="LN1272">1272</td><td class="line"> applet-&gt;essid_text = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1273"><td class="num" id="LN1273">1273</td><td class="line"> applet-&gt;signalbar = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1274"><td class="num" id="LN1274">1274</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_NL<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1275"><td class="num" id="LN1275">1275</td><td class="line"> applet-&gt;station_text = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1276"><td class="num" id="LN1276">1276</td><td class="line"> applet-&gt;channel_text = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1277"><td class="num" id="LN1277">1277</td><td class="line"> applet-&gt;connected_time_text = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1278"><td class="num" id="LN1278">1278</td><td class="line"><span class='directive'>#endif /* HAVE_NL */</span></td></tr>
+<tr class="codeline" data-linenumber="1279"><td class="num" id="LN1279">1279</td><td class="line"> applet-&gt;ipv6_box = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1280"><td class="num" id="LN1280">1280</td><td class="line"> applet-&gt;netlink_box = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1281"><td class="num" id="LN1281">1281</td><td class="line"> applet-&gt;wireless_box = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1282"><td class="num" id="LN1282">1282</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1283"><td class="num" id="LN1283">1283</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1284"><td class="num" id="LN1284">1284</td><td class="line"><span class='comment'>/* Creates the details dialog</span></td></tr>
+<tr class="codeline" data-linenumber="1285"><td class="num" id="LN1285">1285</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="1286"><td class="num" id="LN1286">1286</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="1287"><td class="num" id="LN1287">1287</td><td class="line">showinfo_cb (GtkAction *action,</td></tr>
+<tr class="codeline" data-linenumber="1288"><td class="num" id="LN1288">1288</td><td class="line"> gpointer data)</td></tr>
+<tr class="codeline" data-linenumber="1289"><td class="num" id="LN1289">1289</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="1290"><td class="num" id="LN1290">1290</td><td class="line"> GtkBuilder *builder;</td></tr>
+<tr class="codeline" data-linenumber="1291"><td class="num" id="LN1291">1291</td><td class="line"> MateNetspeedApplet *applet = (MateNetspeedApplet*)data;</td></tr>
+<tr class="codeline" data-linenumber="1292"><td class="num" id="LN1292">1292</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1293"><td class="num" id="LN1293">1293</td><td class="line"> <span class="mrange"><span class='macro'>g_assert</span>(applet)<span class='macro_popup'>do { if (__builtin_expect (__extension__ ({ int _g_boolean_var_<br>; if (applet) _g_boolean_var_ = 1; else _g_boolean_var_ = 0; _g_boolean_var_<br>; }), 1)) ; else g_assertion_message_expr (((gchar*) 0), "netspeed.c"<br>, 1293, ((const char*) (__func__)), "applet"); } while (0)</span></span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path1" class="msg msgEvent" style="margin-left:5ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">1</div></td><td>Assuming 'applet' is non-null</td><td><div class="PathNav"><a href="#Path2" title="Next event (2)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path2" class="msg msgControl" style="margin-left:5ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">2</div></td><td><div class="PathNav"><a href="#Path1" title="Previous event (1)">&#x2190;</a></div></td><td>Taking true branch</td><td><div class="PathNav"><a href="#Path3" title="Next event (3)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path3" class="msg msgControl" style="margin-left:5ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">3</div></td><td><div class="PathNav"><a href="#Path2" title="Previous event (2)">&#x2190;</a></div></td><td>Taking true branch</td><td><div class="PathNav"><a href="#Path4" title="Next event (4)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path4" class="msg msgControl" style="margin-left:5ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">4</div></td><td><div class="PathNav"><a href="#Path3" title="Previous event (3)">&#x2190;</a></div></td><td>Loop condition is false. Exiting loop</td><td><div class="PathNav"><a href="#Path5" title="Next event (5)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="1294"><td class="num" id="LN1294">1294</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1295"><td class="num" id="LN1295">1295</td><td class="line"> <span class='keyword'>if</span> (<span class="mrange">applet-&gt;details</span>) {</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path5" class="msg msgEvent" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">5</div></td><td><div class="PathNav"><a href="#Path4" title="Previous event (4)">&#x2190;</a></div></td><td>Assuming field 'details' is null</td><td><div class="PathNav"><a href="#Path6" title="Next event (6)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path6" class="msg msgControl" style="margin-left:5ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">6</div></td><td><div class="PathNav"><a href="#Path5" title="Previous event (5)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path7" title="Next event (7)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="1296"><td class="num" id="LN1296">1296</td><td class="line"> gtk_window_present(<span class='macro'>GTK_WINDOW(applet-&gt;details)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;details)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1297"><td class="num" id="LN1297">1297</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="1298"><td class="num" id="LN1298">1298</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="1299"><td class="num" id="LN1299">1299</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1300"><td class="num" id="LN1300">1300</td><td class="line"> builder = gtk_builder_new_from_resource (<span class='macro'>NETSPEED_RESOURCE_PATH<span class='macro_popup'>"/org/mate/mate-applets/netspeed/"</span></span> <span class='string_literal'>"netspeed-details.ui"</span>);</td></tr>
+<tr class="codeline" data-linenumber="1301"><td class="num" id="LN1301">1301</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1302"><td class="num" id="LN1302">1302</td><td class="line"> applet-&gt;details = <span class='macro'>GET_DIALOG (<span class='string_literal'>"dialog"</span>)<span class='macro_popup'>(((((GtkDialog*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("dialog")))), ((gtk_dialog_get_type<br> ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1303"><td class="num" id="LN1303">1303</td><td class="line"> applet-&gt;drawingarea = <span class='macro'>GET_DRAWING_AREA (<span class='string_literal'>"drawingarea"</span>)<span class='macro_popup'>(((((GtkDrawingArea*) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, ("drawingarea")))), ((gtk_drawing_area_get_type<br> ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1304"><td class="num" id="LN1304">1304</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1305"><td class="num" id="LN1305">1305</td><td class="line"> applet-&gt;ip_text = <span class='macro'>GET_WIDGET (<span class='string_literal'>"ip_text"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("ip_text")))), ((gtk_widget_get_type<br> ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1306"><td class="num" id="LN1306">1306</td><td class="line"> applet-&gt;netmask_text = <span class='macro'>GET_WIDGET (<span class='string_literal'>"netmask_text"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("netmask_text")))), ((gtk_widget_get_type<br> ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1307"><td class="num" id="LN1307">1307</td><td class="line"> applet-&gt;ptpip_text = <span class='macro'>GET_WIDGET (<span class='string_literal'>"ptpip_text"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("ptpip_text")))), ((gtk_widget_get_type<br> ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1308"><td class="num" id="LN1308">1308</td><td class="line"> applet-&gt;ipv6_text = <span class='macro'>GET_WIDGET (<span class='string_literal'>"ipv6_text"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("ipv6_text")))), ((gtk_widget_get_type<br> ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1309"><td class="num" id="LN1309">1309</td><td class="line"> applet-&gt;hwaddr_text = <span class='macro'>GET_WIDGET (<span class='string_literal'>"hwaddr_text"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("hwaddr_text")))), ((gtk_widget_get_type<br> ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1310"><td class="num" id="LN1310">1310</td><td class="line"> applet-&gt;inbytes_text = <span class='macro'>GET_WIDGET (<span class='string_literal'>"inbytes_text"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("inbytes_text")))), ((gtk_widget_get_type<br> ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1311"><td class="num" id="LN1311">1311</td><td class="line"> applet-&gt;outbytes_text = <span class='macro'>GET_WIDGET (<span class='string_literal'>"outbytes_text"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("outbytes_text")))), ((gtk_widget_get_type<br> ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1312"><td class="num" id="LN1312">1312</td><td class="line"> applet-&gt;essid_text = <span class='macro'>GET_WIDGET (<span class='string_literal'>"essid_text"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("essid_text")))), ((gtk_widget_get_type<br> ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1313"><td class="num" id="LN1313">1313</td><td class="line"> applet-&gt;signalbar = <span class='macro'>GET_WIDGET (<span class='string_literal'>"signalbar"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("signalbar")))), ((gtk_widget_get_type<br> ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1314"><td class="num" id="LN1314">1314</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_NL<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="1315"><td class="num" id="LN1315">1315</td><td class="line"> applet-&gt;station_text = <span class='macro'>GET_WIDGET (<span class='string_literal'>"station_text"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("station_text")))), ((gtk_widget_get_type<br> ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1316"><td class="num" id="LN1316">1316</td><td class="line"> applet-&gt;channel_text = <span class='macro'>GET_WIDGET (<span class='string_literal'>"channel_text"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("channel_text")))), ((gtk_widget_get_type<br> ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1317"><td class="num" id="LN1317">1317</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1318"><td class="num" id="LN1318">1318</td><td class="line"> applet-&gt;connected_time_text = <span class='macro'>GET_WIDGET (<span class='string_literal'>"connected_time_text"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("connected_time_text")))<br>), ((gtk_widget_get_type ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1319"><td class="num" id="LN1319">1319</td><td class="line"><span class='directive'>#endif /* HAVE_NL */</span></td></tr>
+<tr class="codeline" data-linenumber="1320"><td class="num" id="LN1320">1320</td><td class="line"> applet-&gt;ipv6_box = <span class='macro'>GET_WIDGET (<span class='string_literal'>"ipv6_box"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("ipv6_box")))), ((gtk_widget_get_type<br> ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1321"><td class="num" id="LN1321">1321</td><td class="line"> applet-&gt;netlink_box = <span class='macro'>GET_WIDGET (<span class='string_literal'>"netlink_box"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("netlink_box")))), ((gtk_widget_get_type<br> ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1322"><td class="num" id="LN1322">1322</td><td class="line"> applet-&gt;wireless_box = <span class='macro'>GET_WIDGET (<span class='string_literal'>"wireless_box"</span>)<span class='macro_popup'>(((((GtkWidget*) g_type_check_instance_cast ((GTypeInstance*)<br> ((gtk_builder_get_object (builder, ("wireless_box")))), ((gtk_widget_get_type<br> ())))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="1323"><td class="num" id="LN1323">1323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1324"><td class="num" id="LN1324">1324</td><td class="line"> gtk_color_chooser_set_rgba (<span class='macro'>GET_COLOR_CHOOSER (<span class='string_literal'>"incolor_sel"</span>)<span class='macro_popup'>(((((GtkColorChooser*) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, ("incolor_sel")))), ((gtk_color_chooser_get_type<br> ())))))))</span></span>, &amp;applet-&gt;in_color);</td></tr>
+<tr class="codeline" data-linenumber="1325"><td class="num" id="LN1325">1325</td><td class="line"> gtk_color_chooser_set_rgba (<span class='macro'>GET_COLOR_CHOOSER (<span class='string_literal'>"outcolor_sel"</span>)<span class='macro_popup'>(((((GtkColorChooser*) g_type_check_instance_cast ((GTypeInstance<br>*) ((gtk_builder_get_object (builder, ("outcolor_sel")))), ((<br>gtk_color_chooser_get_type ())))))))</span></span>, &amp;applet-&gt;out_color);</td></tr>
+<tr class="codeline" data-linenumber="1326"><td class="num" id="LN1326">1326</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1327"><td class="num" id="LN1327">1327</td><td class="line"> <span class="mrange">fill_details_dialog (applet)</span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path7" class="msg msgEvent" style="margin-left:5ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">7</div></td><td><div class="PathNav"><a href="#Path6" title="Previous event (6)">&#x2190;</a></div></td><td>Calling 'fill_details_dialog'</td><td><div class="PathNav"><a href="#Path8" title="Next event (8)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="1328"><td class="num" id="LN1328">1328</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1329"><td class="num" id="LN1329">1329</td><td class="line"> gtk_builder_add_callback_symbols (builder,</td></tr>
+<tr class="codeline" data-linenumber="1330"><td class="num" id="LN1330">1330</td><td class="line"> <span class='string_literal'>"on_drawingarea_draw"</span>, <span class='macro'>G_CALLBACK (da_draw)<span class='macro_popup'>((GCallback) (da_draw))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1331"><td class="num" id="LN1331">1331</td><td class="line"> <span class='string_literal'>"on_incolor_sel_color_set"</span>, <span class='macro'>G_CALLBACK (incolor_changed_cb)<span class='macro_popup'>((GCallback) (incolor_changed_cb))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1332"><td class="num" id="LN1332">1332</td><td class="line"> <span class='string_literal'>"on_outcolor_sel_color_set"</span>, <span class='macro'>G_CALLBACK (outcolor_changed_cb)<span class='macro_popup'>((GCallback) (outcolor_changed_cb))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1333"><td class="num" id="LN1333">1333</td><td class="line"> <span class='string_literal'>"on_dialog_response"</span>, <span class='macro'>G_CALLBACK (info_response_cb)<span class='macro_popup'>((GCallback) (info_response_cb))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1334"><td class="num" id="LN1334">1334</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1335"><td class="num" id="LN1335">1335</td><td class="line"> gtk_builder_connect_signals (builder, applet);</td></tr>
+<tr class="codeline" data-linenumber="1336"><td class="num" id="LN1336">1336</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1337"><td class="num" id="LN1337">1337</td><td class="line"> g_object_unref (builder);</td></tr>
+<tr class="codeline" data-linenumber="1338"><td class="num" id="LN1338">1338</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1339"><td class="num" id="LN1339">1339</td><td class="line"> gtk_window_present (<span class='macro'>GTK_WINDOW (applet-&gt;details)<span class='macro_popup'>((((GtkWindow*) g_type_check_instance_cast ((GTypeInstance*) (<br>(applet-&gt;details)), ((gtk_window_get_type ()))))))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="1340"><td class="num" id="LN1340">1340</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="1341"><td class="num" id="LN1341">1341</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="1342"><td class="num" id="LN1342">1342</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>const</span> GtkActionEntry mate_netspeed_applet_menu_actions [] = {</td></tr>
+<tr class="codeline" data-linenumber="1343"><td class="num" id="LN1343">1343</td><td class="line"> { <span class='string_literal'>"MateNetspeedAppletDetails"</span>, <span class='string_literal'>"dialog-information"</span>, <span class='macro'>N_(<span class='string_literal'>"Device _Details"</span>)<span class='macro_popup'>("Device _Details")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1344"><td class="num" id="LN1344">1344</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>G_CALLBACK (showinfo_cb)<span class='macro_popup'>((GCallback) (showinfo_cb))</span></span> },</td></tr>
+<tr class="codeline" data-linenumber="1345"><td class="num" id="LN1345">1345</td><td class="line"> { <span class='string_literal'>"MateNetspeedAppletProperties"</span>, <span class='string_literal'>"document-properties"</span>, <span class='macro'>N_(<span class='string_literal'>"Preferences..."</span>)<span class='macro_popup'>("Preferences...")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1346"><td class="num" id="LN1346">1346</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>G_CALLBACK (settings_cb)<span class='macro_popup'>((GCallback) (settings_cb))</span></span> },</td></tr>
+<tr class="codeline" data-linenumber="1347"><td class="num" id="LN1347">1347</td><td class="line"> { <span class='string_literal'>"MateNetspeedAppletHelp"</span>, <span class='string_literal'>"help-browser"</span>, <span class='macro'>N_(<span class='string_literal'>"Help"</span>)<span class='macro_popup'>("Help")</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="1348"><td class="num" id="LN1348">1348</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>G_CALLBACK (help_cb)<span class='macro_popup'>((GCallback) (help_cb))</span></span> },</td></tr>
+<tr class="codeline" data-li