summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorraveit65 (via Travis CI) <[email protected]>2020-10-18 09:37:42 +0000
committerraveit65 (via Travis CI) <[email protected]>2020-10-18 09:37:42 +0000
commitfbf24e660d4a943cd15ee171d385a00f4803f9d8 (patch)
treea214590d3c4483a813ab2160c414f4acfbf5be5e
downloadmate-screensaver-gh-pages.tar.bz2
mate-screensaver-gh-pages.tar.xz
Deploy mate-desktop/mate-screensaver to github.com/mate-desktop/mate-screensaver.git:gh-pagesgh-pages
-rw-r--r--[email protected]_master/index.html193
-rw-r--r--[email protected]_master/report-01febc.html902
-rw-r--r--[email protected]_master/report-06535e.html1022
-rw-r--r--[email protected]_master/report-0b5f8a.html531
-rw-r--r--[email protected]_master/report-0b6bb6.html902
-rw-r--r--[email protected]_master/report-1b22cd.html515
-rw-r--r--[email protected]_master/report-1f5779.html1183
-rw-r--r--[email protected]_master/report-3cff4c.html1022
-rw-r--r--[email protected]_master/report-409acd.html1022
-rw-r--r--[email protected]_master/report-40c741.html902
-rw-r--r--[email protected]_master/report-455faf.html902
-rw-r--r--[email protected]_master/report-4ab41f.html481
-rw-r--r--[email protected]_master/report-5eec6c.html515
-rw-r--r--[email protected]_master/report-6304f7.html515
-rw-r--r--[email protected]5d_master/report-6454be.html515
-rw-r--r--[email protected]_master/report-74b008.html927
-rw-r--r--[email protected]_master/report-7b3b28.html1183
-rw-r--r--[email protected]_master/report-8673e2.html515
-rw-r--r--[email protected]_master/report-88e788.html515
-rw-r--r--[email protected]_master/report-91fa2f.html1022
-rw-r--r--[email protected]_master/report-9fb5a9.html902
-rw-r--r--[email protected]_master/report-a41662.html902
-rw-r--r--[email protected]_master/report-ae8fbc.html2921
-rw-r--r--[email protected]_master/report-bd9019.html1183
-rw-r--r--[email protected]_master/report-c3e718.html949
-rw-r--r--[email protected]_master/report-cb10b4.html515
-rw-r--r--[email protected]_master/report-cdc07c.html957
-rw-r--r--[email protected]_master/report-dca8b3.html515
-rw-r--r--[email protected]_master/report-ed4043.html2921
-rw-r--r--[email protected]_master/report-f1e0fe.html1183
-rw-r--r--[email protected]_master/report-f667f5.html2921
-rw-r--r--[email protected]_master/report-ff3e9c.html2921
-rw-r--r--[email protected]_master/scanview.css62
-rw-r--r--[email protected]_master/sorttable.js492
-rw-r--r--[email protected]_master/0.html534
-rw-r--r--[email protected]_master/1.html1374
-rw-r--r--[email protected]_master/10.html1292
-rw-r--r--[email protected]_master/11.html5240
-rw-r--r--[email protected]_master/12.html4872
-rw-r--r--[email protected]_master/13.html4108
-rw-r--r--[email protected]_master/14.html1044
-rw-r--r--[email protected]_master/15.html1520
-rw-r--r--[email protected]_master/16.html5366
-rw-r--r--[email protected]_master/17.html1280
-rw-r--r--[email protected]_master/18.html340
-rw-r--r--[email protected]_master/19.html1174
-rw-r--r--[email protected]_master/2.html2270
-rw-r--r--[email protected]_master/20.html3674
-rw-r--r--[email protected]_master/21.html438
-rw-r--r--[email protected]_master/3.html454
-rw-r--r--[email protected]_master/4.html1188
-rw-r--r--[email protected]_master/5.html376
-rw-r--r--[email protected]_master/6.html1842
-rw-r--r--[email protected]_master/7.html752
-rw-r--r--[email protected]_master/8.html508
-rw-r--r--[email protected]_master/9.html2068
-rw-r--r--[email protected]_master/index.html199
-rw-r--r--[email protected]_master/stats.html125
-rw-r--r--[email protected]_master/style.css137
-rw-r--r--[email protected]_master/index.html193
-rw-r--r--[email protected]_master/report-0161c5.html1022
-rw-r--r--[email protected]_master/report-0262ea.html902
-rw-r--r--[email protected]_master/report-084462.html902
-rw-r--r--[email protected]_master/report-142882.html2921
-rw-r--r--[email protected]_master/report-1441b4.html902
-rw-r--r--[email protected]_master/report-1d31cd.html515
-rw-r--r--[email protected]_master/report-1fb87a.html515
-rw-r--r--[email protected]_master/report-243c82.html1022
-rw-r--r--[email protected]_master/report-36d09c.html957
-rw-r--r--[email protected]_master/report-3ac669.html1183
-rw-r--r--[email protected]_master/report-3c9a1b.html515
-rw-r--r--[email protected]_master/report-3e77e3.html515
-rw-r--r--[email protected]_master/report-41aa1e.html927
-rw-r--r--[email protected]_master/report-486823.html1183
-rw-r--r--[email protected]_master/report-49a69a.html2921
-rw-r--r--[email protected]_master/report-4e299d.html481
-rw-r--r--[email protected]_master/report-5afb5a.html1183
-rw-r--r--[email protected]_master/report-67098f.html2921
-rw-r--r--[email protected]_master/report-71c131.html1022
-rw-r--r--[email protected]_master/report-72b1cd.html902
-rw-r--r--[email protected]_master/report-738e44.html1022
-rw-r--r--[email protected]_master/report-76ffa0.html515
-rw-r--r--[email protected]_master/report-82c8ac.html515
-rw-r--r--[email protected]_master/report-920cb7.html902
-rw-r--r--[email protected]_master/report-9a63b5.html949
-rw-r--r--[email protected]497d60087f6a_master/report-9a8a21.html1183
-rw-r--r--[email protected]_master/report-9d356d.html515
-rw-r--r--[email protected]_master/report-a1a750.html531
-rw-r--r--[email protected]_master/report-a900ca.html2921
-rw-r--r--[email protected]_master/report-ba6547.html515
-rw-r--r--[email protected]_master/report-fc531c.html902
-rw-r--r--[email protected]_master/scanview.css62
-rw-r--r--[email protected]_master/sorttable.js492
-rw-r--r--[email protected]_master/0.html534
-rw-r--r--[email protected]_master/1.html1374
-rw-r--r--[email protected]_master/10.html1292
-rw-r--r--[email protected]_master/11.html5240
-rw-r--r--[email protected]_master/12.html4872
-rw-r--r--[email protected]_master/13.html4108
-rw-r--r--[email protected]_master/14.html1044
-rw-r--r--[email protected]_master/15.html1520
-rw-r--r--[email protected]_master/16.html5366
-rw-r--r--[email protected]_master/17.html1280
-rw-r--r--[email protected]_master/18.html340
-rw-r--r--[email protected]_master/19.html1174
-rw-r--r--[email protected]_master/2.html2270
-rw-r--r--[email protected]_master/20.html3674
-rw-r--r--[email protected]_master/21.html438
-rw-r--r--[email protected]_master/3.html454
-rw-r--r--[email protected]_master/4.html1188
-rw-r--r--[email protected]_master/5.html376
-rw-r--r--[email protected]_master/6.html1842
-rw-r--r--[email protected]_master/7.html752
-rw-r--r--[email protected]_master/8.html508
-rw-r--r--[email protected]_master/9.html2068
-rw-r--r--[email protected]_master/index.html199
-rw-r--r--[email protected]_master/stats.html125
-rw-r--r--[email protected]_master/style.css137
-rw-r--r--[email protected]_v1.25.0/index.html193
-rw-r--r--[email protected]_v1.25.0/report-037c4a.html1183
-rw-r--r--[email protected]_v1.25.0/report-11938a.html1183
-rw-r--r--[email protected]_v1.25.0/report-135cef.html2921
-rw-r--r--[email protected]_v1.25.0/report-1db672.html902
-rw-r--r--[email protected]_v1.25.0/report-1fcbf9.html1183
-rw-r--r--[email protected]_v1.25.0/report-22f515.html515
-rw-r--r--[email protected]_v1.25.0/report-342f66.html515
-rw-r--r--[email protected]_v1.25.0/report-37f0fb.html515
-rw-r--r--[email protected]_v1.25.0/report-4e31bc.html957
-rw-r--r--[email protected]_v1.25.0/report-6681e9.html1022
-rw-r--r--[email protected]_v1.25.0/report-728d12.html515
-rw-r--r--[email protected]_v1.25.0/report-7493ca.html1183
-rw-r--r--[email protected]_v1.25.0/report-76c578.html1022
-rw-r--r--[email protected]_v1.25.0/report-8790da.html2921
-rw-r--r--[email protected]_v1.25.0/report-8ad2fe.html515
-rw-r--r--[email protected]_v1.25.0/report-8dc0ad.html515
-rw-r--r--[email protected]_v1.25.0/report-9d04a1.html531
-rw-r--r--[email protected]_v1.25.0/report-9e751a.html1022
-rw-r--r--[email protected]_v1.25.0/report-a165a4.html902
-rw-r--r--[email protected]_v1.25.0/report-a92777.html902
-rw-r--r--[email protected]_v1.25.0/report-b2e796.html949
-rw-r--r--[email protected]_v1.25.0/report-b986b4.html1022
-rw-r--r--[email protected]_v1.25.0/report-c592a3.html902
-rw-r--r--[email protected]_v1.25.0/report-cf1699.html2921
-rw-r--r--[email protected]_v1.25.0/report-d2d7b2.html515
-rw-r--r--[email protected]_v1.25.0/report-d2fe74.html2921
-rw-r--r--[email protected]_v1.25.0/report-d3ba5a.html515
-rw-r--r--[email protected]_v1.25.0/report-db5627.html902
-rw-r--r--[email protected]_v1.25.0/report-e672b7.html902
-rw-r--r--[email protected]_v1.25.0/report-f5450a.html927
-rw-r--r--[email protected]_v1.25.0/report-f73223.html481
-rw-r--r--[email protected]_v1.25.0/scanview.css62
-rw-r--r--[email protected]_v1.25.0/sorttable.js492
-rw-r--r--[email protected]_v1.25.0/0.html534
-rw-r--r--[email protected]_v1.25.0/1.html1374
-rw-r--r--[email protected]_v1.25.0/10.html1292
-rw-r--r--[email protected]_v1.25.0/11.html5240
-rw-r--r--2020-08-[email protected]_v1.25.0/12.html4872
-rw-r--r--[email protected]_v1.25.0/13.html4108
-rw-r--r--[email protected]_v1.25.0/14.html1044
-rw-r--r--[email protected]_v1.25.0/15.html1520
-rw-r--r--[email protected]_v1.25.0/16.html5366
-rw-r--r--[email protected]_v1.25.0/17.html1280
-rw-r--r--[email protected]_v1.25.0/18.html340
-rw-r--r--[email protected]_v1.25.0/19.html1174
-rw-r--r--[email protected]_v1.25.0/2.html2270
-rw-r--r--[email protected]_v1.25.0/20.html3674
-rw-r--r--[email protected]_v1.25.0/21.html438
-rw-r--r--[email protected]_v1.25.0/3.html454
-rw-r--r--[email protected]_v1.25.0/4.html1188
-rw-r--r--[email protected]_v1.25.0/5.html376
-rw-r--r--[email protected]_v1.25.0/6.html1842
-rw-r--r--[email protected]_v1.25.0/7.html752
-rw-r--r--[email protected]_v1.25.0/8.html508
-rw-r--r--[email protected]_v1.25.0/9.html2068
-rw-r--r--[email protected]_v1.25.0/index.html199
-rw-r--r--[email protected]_v1.25.0/stats.html125
-rw-r--r--[email protected]_v1.25.0/style.css137
-rw-r--r--[email protected]_show-password/index.html193
-rw-r--r--[email protected]_show-password/report-014f91.html1183
-rw-r--r--[email protected]_show-password/report-135ca3.html902
-rw-r--r--[email protected]_show-password/report-15e9b3.html1183
-rw-r--r--[email protected]_show-password/report-195578.html2921
-rw-r--r--[email protected]_show-password/report-24cbc6.html902
-rw-r--r--[email protected]_show-password/report-2d294d.html515
-rw-r--r--[email protected]_show-password/report-3699f3.html927
-rw-r--r--[email protected]_show-password/report-4573d3.html2921
-rw-r--r--[email protected]_show-password/report-4d2e92.html1183
-rw-r--r--[email protected]_show-password/report-51280a.html2921
-rw-r--r--[email protected]_show-password/report-5282f8.html957
-rw-r--r--[email protected]_show-password/report-52ef66.html949
-rw-r--r--[email protected]_show-password/report-5c274c.html1183
-rw-r--r--[email protected]_show-password/report-5fde8c.html902
-rw-r--r--[email protected]_show-password/report-768aa8.html515
-rw-r--r--[email protected]_show-password/report-770d41.html515
-rw-r--r--[email protected]_show-password/report-7f8f0f.html902
-rw-r--r--[email protected]_show-password/report-88df9d.html481
-rw-r--r--[email protected]_show-password/report-8927ad.html2921
-rw-r--r--[email protected]_show-password/report-8dcc22.html1022
-rw-r--r--[email protected]_show-password/report-919d58.html1022
-rw-r--r--[email protected]_show-password/report-a4c8b6.html902
-rw-r--r--[email protected]_show-password/report-a89223.html515
-rw-r--r--[email protected]_show-password/report-adcf25.html515
-rw-r--r--[email protected]_show-password/report-b15d0e.html515
-rw-r--r--[email protected]_show-password/report-b309f2.html1022
-rw-r--r--[email protected]_show-password/report-b7ed02.html515
-rw-r--r--[email protected]_show-password/report-b8459b.html515
-rw-r--r--[email protected]_show-password/report-b9a6d6.html902
-rw-r--r--[email protected]_show-password/report-d8dacf.html531
-rw-r--r--[email protected]_show-password/report-d8e441.html1022
-rw-r--r--[email protected]_show-password/scanview.css62
-rw-r--r--[email protected]_show-password/sorttable.js492
-rw-r--r--[email protected]_show-password/0.html534
-rw-r--r--[email protected]_show-password/1.html1374
-rw-r--r--[email protected]_show-password/10.html1292
-rw-r--r--[email protected]_show-password/11.html5240
-rw-r--r--[email protected]_show-password/12.html4924
-rw-r--r--[email protected]_show-password/13.html4108
-rw-r--r--[email protected]_show-password/14.html1044
-rw-r--r--[email protected]_show-password/15.html1520
-rw-r--r--[email protected]_show-password/16.html5366
-rw-r--r--[email protected]_show-password/17.html1280
-rw-r--r--[email protected]_show-password/18.html340
-rw-r--r--[email protected]_show-password/19.html1178
-rw-r--r--[email protected]_show-password/2.html2270
-rw-r--r--[email protected]_show-password/20.html3674
-rw-r--r--[email protected]_show-password/21.html438
-rw-r--r--[email protected]_show-password/3.html454
-rw-r--r--[email protected]_show-password/4.html1188
-rw-r--r--[email protected]_show-password/5.html376
-rw-r--r--[email protected]_show-password/6.html1842
-rw-r--r--[email protected]_show-password/7.html752
-rw-r--r--[email protected]_show-password/8.html508
-rw-r--r--[email protected]_show-password/9.html2068
-rw-r--r--[email protected]_show-password/index.html199
-rw-r--r--[email protected]_show-password/stats.html125
-rw-r--r--[email protected]_show-password/style.css137
-rw-r--r--[email protected]_preview-lock-image/index.html193
-rw-r--r--[email protected]_preview-lock-image/report-06b123.html1022
-rw-r--r--[email protected]_preview-lock-image/report-151364.html515
-rw-r--r--[email protected]_preview-lock-image/report-176e1c.html1183
-rw-r--r--[email protected]_preview-lock-image/report-1a36ed.html902
-rw-r--r--[email protected]_preview-lock-image/report-1ccd29.html957
-rw-r--r--[email protected]_preview-lock-image/report-268104.html1022
-rw-r--r--[email protected]_preview-lock-image/report-380a5a.html1183
-rw-r--r--[email protected]_preview-lock-image/report-3861b3.html1183
-rw-r--r--[email protected]_preview-lock-image/report-3d452c.html902
-rw-r--r--[email protected]_preview-lock-image/report-4ad2fe.html927
-rw-r--r--[email protected]_preview-lock-image/report-51761d.html902
-rw-r--r--[email protected]_preview-lock-image/report-57e964.html2921
-rw-r--r--[email protected]_preview-lock-image/report-5a8572.html902
-rw-r--r--[email protected]_preview-lock-image/report-5f82b7.html515
-rw-r--r--[email protected]_preview-lock-image/report-702104.html2921
-rw-r--r--[email protected]_preview-lock-image/report-841d8d.html1183
-rw-r--r--[email protected]_preview-lock-image/report-927746.html902
-rw-r--r--[email protected]_preview-lock-image/report-94ccf7.html515
-rw-r--r--[email protected]_preview-lock-image/report-a2b06a.html515
-rw-r--r--[email protected]_preview-lock-image/report-a3f020.html1022
-rw-r--r--[email protected]_preview-lock-image/report-addef2.html2921
-rw-r--r--[email protected]_preview-lock-image/report-aee71d.html2921
-rw-r--r--[email protected]_preview-lock-image/report-b153e1.html515
-rw-r--r--[email protected]_preview-lock-image/report-cce8a9.html949
-rw-r--r--[email protected]_preview-lock-image/report-cfb1ed.html531
-rw-r--r--[email protected]_preview-lock-image/report-d11f6b.html902
-rw-r--r--[email protected]_preview-lock-image/report-d45b3b.html1022
-rw-r--r--[email protected]_preview-lock-image/report-d96c36.html515
-rw-r--r--[email protected]_preview-lock-image/report-e5eaf4.html481
-rw-r--r--[email protected]_preview-lock-image/report-eb647a.html515
-rw-r--r--[email protected]_preview-lock-image/report-f72122.html515
-rw-r--r--[email protected]_preview-lock-image/scanview.css62
-rw-r--r--[email protected]_preview-lock-image/sorttable.js492
-rw-r--r--[email protected]_preview-lock-image/0.html534
-rw-r--r--[email protected]_preview-lock-image/1.html1374
-rw-r--r--[email protected]_preview-lock-image/10.html1292
-rw-r--r--[email protected]_preview-lock-image/11.html5240
-rw-r--r--[email protected]_preview-lock-image/12.html4872
-rw-r--r--[email protected]_preview-lock-image/13.html4108
-rw-r--r--[email protected]_preview-lock-image/14.html1044
-rw-r--r--[email protected]_preview-lock-image/15.html1520
-rw-r--r--[email protected]_preview-lock-image/16.html5366
-rw-r--r--[email protected]_preview-lock-image/17.html1280
-rw-r--r--[email protected]_preview-lock-image/18.html340
-rw-r--r--[email protected]_preview-lock-image/19.html1178
-rw-r--r--[email protected]_preview-lock-image/2.html2270
-rw-r--r--[email protected]_preview-lock-image/20.html3734
-rw-r--r--[email protected]_preview-lock-image/21.html438
-rw-r--r--[email protected]_preview-lock-image/3.html454
-rw-r--r--[email protected]_preview-lock-image/4.html1188
-rw-r--r--[email protected]_preview-lock-image/5.html376
-rw-r--r--[email protected]_preview-lock-image/6.html1842
-rw-r--r--[email protected]_preview-lock-image/7.html752
-rw-r--r--[email protected]_preview-lock-image/8.html508
-rw-r--r--[email protected]_preview-lock-image/9.html2068
-rw-r--r--[email protected]_preview-lock-image/index.html199
-rw-r--r--[email protected]_preview-lock-image/stats.html125
-rw-r--r--[email protected]_preview-lock-image/style.css137
-rw-r--r--[email protected]_preview-lock-image/index.html193
-rw-r--r--[email protected]_preview-lock-image/report-02131d.html531
-rw-r--r--[email protected]_preview-lock-image/report-0ff8ed.html902
-rw-r--r--[email protected]_preview-lock-image/report-184458.html515
-rw-r--r--[email protected]_preview-lock-image/report-1a16d3.html1183
-rw-r--r--[email protected]_preview-lock-image/report-1f164b.html902
-rw-r--r--[email protected]_preview-lock-image/report-288b7c.html902
-rw-r--r--[email protected]_preview-lock-image/report-3ed630.html949
-rw-r--r--[email protected]_preview-lock-image/report-43cfba.html1022
-rw-r--r--[email protected]_preview-lock-image/report-4cd849.html902
-rw-r--r--[email protected]_preview-lock-image/report-4f8e44.html927
-rw-r--r--[email protected]_preview-lock-image/report-5281bc.html515
-rw-r--r--[email protected]_preview-lock-image/report-538365.html481
-rw-r--r--[email protected]_preview-lock-image/report-63c138.html2921
-rw-r--r--[email protected]_preview-lock-image/report-64e803.html1183
-rw-r--r--[email protected]_preview-lock-image/report-6b0225.html902
-rw-r--r--[email protected]_preview-lock-image/report-7ab949.html515
-rw-r--r--[email protected]_preview-lock-image/report-7d3418.html515
-rw-r--r--[email protected]_preview-lock-image/report-7fbcac.html2921
-rw-r--r--[email protected]_preview-lock-image/report-9c5eaa.html1183
-rw-r--r--[email protected]_preview-lock-image/report-a6ddae.html515
-rw-r--r--[email protected]_preview-lock-image/report-aa6fbc.html2921
-rw-r--r--[email protected]_preview-lock-image/report-ac4f0a.html515
-rw-r--r--[email protected]_preview-lock-image/report-b6a666.html1022
-rw-r--r--[email protected]_preview-lock-image/report-bcf882.html1022
-rw-r--r--[email protected]_preview-lock-image/report-beac4a.html1183
-rw-r--r--[email protected]_preview-lock-image/report-c2a7af.html957
-rw-r--r--[email protected]_preview-lock-image/report-cdc4f0.html515
-rw-r--r--[email protected]_preview-lock-image/report-cf8135.html515
-rw-r--r--[email protected]_preview-lock-image/report-d8d57f.html1022
-rw-r--r--[email protected]_preview-lock-image/report-ee3ac4.html2921
-rw-r--r--[email protected]_preview-lock-image/report-f7cefa.html902
-rw-r--r--2020-10-16-111[email protected]_preview-lock-image/scanview.css62
-rw-r--r--[email protected]_preview-lock-image/sorttable.js492
-rw-r--r--[email protected]_preview-lock-image/0.html534
-rw-r--r--[email protected]_preview-lock-image/1.html1374
-rw-r--r--[email protected]_preview-lock-image/10.html1292
-rw-r--r--[email protected]_preview-lock-image/11.html5240
-rw-r--r--[email protected]_preview-lock-image/12.html4872
-rw-r--r--[email protected]_preview-lock-image/13.html4108
-rw-r--r--[email protected]_preview-lock-image/14.html1044
-rw-r--r--[email protected]_preview-lock-image/15.html1520
-rw-r--r--[email protected]_preview-lock-image/16.html5366
-rw-r--r--[email protected]_preview-lock-image/17.html1280
-rw-r--r--[email protected]_preview-lock-image/18.html340
-rw-r--r--[email protected]_preview-lock-image/19.html1178
-rw-r--r--[email protected]_preview-lock-image/2.html2270
-rw-r--r--[email protected]_preview-lock-image/20.html3736
-rw-r--r--[email protected]_preview-lock-image/21.html438
-rw-r--r--[email protected]39c1165_preview-lock-image/3.html454
-rw-r--r--[email protected]_preview-lock-image/4.html1188
-rw-r--r--[email protected]_preview-lock-image/5.html376
-rw-r--r--[email protected]_preview-lock-image/6.html1842
-rw-r--r--[email protected]_preview-lock-image/7.html752
-rw-r--r--[email protected]_preview-lock-image/8.html508
-rw-r--r--[email protected]_preview-lock-image/9.html2068
-rw-r--r--[email protected]_preview-lock-image/index.html199
-rw-r--r--[email protected]_preview-lock-image/stats.html125
-rw-r--r--[email protected]_preview-lock-image/style.css137
-rw-r--r--[email protected]_preview-lock-image/index.html193
-rw-r--r--[email protected]_preview-lock-image/report-09f6e8.html515
-rw-r--r--[email protected]_preview-lock-image/report-0f937c.html927
-rw-r--r--[email protected]_preview-lock-image/report-16e284.html2921
-rw-r--r--[email protected]_preview-lock-image/report-2853d5.html902
-rw-r--r--[email protected]_preview-lock-image/report-33b299.html515
-rw-r--r--[email protected]_preview-lock-image/report-39e629.html1183
-rw-r--r--2020-10-1[email protected]_preview-lock-image/report-4cafad.html1022
-rw-r--r--[email protected]_preview-lock-image/report-54aa07.html481
-rw-r--r--[email protected]_preview-lock-image/report-55d262.html2921
-rw-r--r--[email protected]_preview-lock-image/report-57ce21.html515
-rw-r--r--[email protected]_preview-lock-image/report-5f4e2b.html902
-rw-r--r--[email protected]_preview-lock-image/report-68da1a.html1022
-rw-r--r--[email protected]_preview-lock-image/report-6e9b55.html515
-rw-r--r--[email protected]_preview-lock-image/report-8ec7b3.html902
-rw-r--r--[email protected]_preview-lock-image/report-8f58ca.html1183
-rw-r--r--[email protected]_preview-lock-image/report-96f11d.html531
-rw-r--r--[email protected]_preview-lock-image/report-98c650.html1022
-rw-r--r--[email protected]_preview-lock-image/report-a7512c.html957
-rw-r--r--[email protected]_preview-lock-image/report-af00da.html902
-rw-r--r--[email protected]_preview-lock-image/report-b26e25.html1183
-rw-r--r--[email protected]_preview-lock-image/report-b7e36a.html949
-rw-r--r--[email protected]_preview-lock-image/report-b8d1fc.html515
-rw-r--r--[email protected]_preview-lock-image/report-be8a03.html2921
-rw-r--r--[email protected]_preview-lock-image/report-cf5644.html515
-rw-r--r--[email protected]_preview-lock-image/report-d105ad.html1022
-rw-r--r--[email protected]_preview-lock-image/report-d55d91.html902
-rw-r--r--[email protected]_preview-lock-image/report-dafe70.html1183
-rw-r--r--[email protected]_preview-lock-image/report-eb44e4.html902
-rw-r--r--[email protected]_preview-lock-image/report-ebb41f.html515
-rw-r--r--[email protected]_preview-lock-image/report-f466fd.html515
-rw-r--r--[email protected]_preview-lock-image/report-f4e179.html2921
-rw-r--r--[email protected]_preview-lock-image/scanview.css62
-rw-r--r--[email protected]_preview-lock-image/sorttable.js492
-rw-r--r--[email protected]_preview-lock-image/0.html534
-rw-r--r--[email protected]_preview-lock-image/1.html1374
-rw-r--r--[email protected]_preview-lock-image/10.html1292
-rw-r--r--[email protected]_preview-lock-image/11.html5240
-rw-r--r--[email protected]_preview-lock-image/12.html4872
-rw-r--r--[email protected]_preview-lock-image/13.html4108
-rw-r--r--[email protected]_preview-lock-image/14.html1044
-rw-r--r--[email protected]_preview-lock-image/15.html1520
-rw-r--r--[email protected]_preview-lock-image/16.html5366
-rw-r--r--[email protected]_preview-lock-image/17.html1280
-rw-r--r--[email protected]_preview-lock-image/18.html340
-rw-r--r--[email protected]_preview-lock-image/19.html1178
-rw-r--r--[email protected]_preview-lock-image/2.html2270
-rw-r--r--[email protected]_preview-lock-image/20.html3816
-rw-r--r--[email protected]_preview-lock-image/21.html438
-rw-r--r--[email protected]_preview-lock-image/3.html454
-rw-r--r--[email protected]_preview-lock-image/4.html1188
-rw-r--r--[email protected]_preview-lock-image/5.html376
-rw-r--r--[email protected]_preview-lock-image/6.html1842
-rw-r--r--[email protected]_preview-lock-image/7.html752
-rw-r--r--[email protected]_preview-lock-image/8.html508
-rw-r--r--[email protected]_preview-lock-image/9.html2068
-rw-r--r--[email protected]_preview-lock-image/index.html199
-rw-r--r--[email protected]_preview-lock-image/stats.html125
-rw-r--r--[email protected]_preview-lock-image/style.css137
-rw-r--r--[email protected]_preview-lock-image/index.html193
-rw-r--r--[email protected]_preview-lock-image/report-0d6390.html1183
-rw-r--r--[email protected]_preview-lock-image/report-126374.html2921
-rw-r--r--[email protected]_preview-lock-image/report-1c0ed3.html2921
-rw-r--r--[email protected]_preview-lock-image/report-1c457d.html515
-rw-r--r--[email protected]_preview-lock-image/report-1e4a20.html515
-rw-r--r--[email protected]_preview-lock-image/report-243dbe.html515
-rw-r--r--[email protected]_preview-lock-image/report-26615a.html902
-rw-r--r--[email protected]_preview-lock-image/report-2c6970.html902
-rw-r--r--[email protected]_preview-lock-image/report-30be78.html515
-rw-r--r--[email protected]_preview-lock-image/report-47f5f6.html1183
-rw-r--r--[email protected]_preview-lock-image/report-4d5ac6.html902
-rw-r--r--[email protected]_preview-lock-image/report-4f963c.html957
-rw-r--r--[email protected]_preview-lock-image/report-534af4.html1022
-rw-r--r--[email protected]_preview-lock-image/report-5d7ade.html902
-rw-r--r--[email protected]_preview-lock-image/report-714cb0.html902
-rw-r--r--[email protected]_preview-lock-image/report-7794b4.html515
-rw-r--r--[email protected]_preview-lock-image/report-7fa893.html927
-rw-r--r--[email protected]_preview-lock-image/report-8b5d3d.html531
-rw-r--r--[email protected]_preview-lock-image/report-8f79d5.html1022
-rw-r--r--[email protected]_preview-lock-image/report-95d4d6.html902
-rw-r--r--[email protected]_preview-lock-image/report-974b9b.html515
-rw-r--r--[email protected]_preview-lock-image/report-9accd2.html1183
-rw-r--r--[email protected]_preview-lock-image/report-a268e5.html1022
-rw-r--r--[email protected]_preview-lock-image/report-afe17b.html1022
-rw-r--r--[email protected]_preview-lock-image/report-c88db6.html949
-rw-r--r--[email protected]_preview-lock-image/report-ce6813.html481
-rw-r--r--[email protected]_preview-lock-image/report-d79c8d.html2921
-rw-r--r--[email protected]_preview-lock-image/report-e51e8d.html2921
-rw-r--r--[email protected]_preview-lock-image/report-e60947.html515
-rw-r--r--[email protected]_preview-lock-image/report-e9fdfc.html1183
-rw-r--r--[email protected]_preview-lock-image/report-fcb7b2.html515
-rw-r--r--[email protected]_preview-lock-image/scanview.css62
-rw-r--r--[email protected]_preview-lock-image/sorttable.js492
-rw-r--r--[email protected]_preview-lock-image/0.html534
-rw-r--r--[email protected]_preview-lock-image/1.html1374
-rw-r--r--[email protected]_preview-lock-image/10.html1292
-rw-r--r--[email protected]_preview-lock-image/11.html5240
-rw-r--r--[email protected]_preview-lock-image/12.html4872
-rw-r--r--[email protected]_preview-lock-image/13.html4108
-rw-r--r--[email protected]_preview-lock-image/14.html1044
-rw-r--r--[email protected]_preview-lock-image/15.html1520
-rw-r--r--[email protected]_preview-lock-image/16.html5366
-rw-r--r--[email protected]_preview-lock-image/17.html1280
-rw-r--r--[email protected]_preview-lock-image/18.html340
-rw-r--r--[email protected]_preview-lock-image/19.html1178
-rw-r--r--[email protected]_preview-lock-image/2.html2270
-rw-r--r--[email protected]_preview-lock-image/20.html3812
-rw-r--r--[email protected]_preview-lock-image/21.html438
-rw-r--r--[email protected]_preview-lock-image/3.html454
-rw-r--r--[email protected]_preview-lock-image/4.html1188
-rw-r--r--[email protected]_preview-lock-image/5.html376
-rw-r--r--[email protected]_preview-lock-image/6.html1842
-rw-r--r--[email protected]_preview-lock-image/7.html752
-rw-r--r--[email protected]_preview-lock-image/8.html508
-rw-r--r--[email protected]_preview-lock-image/9.html2068
-rw-r--r--[email protected]_preview-lock-image/index.html199
-rw-r--r--[email protected]_preview-lock-image/stats.html125
-rw-r--r--[email protected]_preview-lock-image/style.css137
-rw-r--r--[email protected]_preview-lock-image/index.html193
-rw-r--r--[email protected]_preview-lock-image/report-17b218.html1183
-rw-r--r--[email protected]_preview-lock-image/report-1a738d.html902
-rw-r--r--[email protected]_preview-lock-image/report-1ae262.html481
-rw-r--r--[email protected]_preview-lock-image/report-27a4f1.html2921
-rw-r--r--[email protected]_preview-lock-image/report-32ef50.html1022
-rw-r--r--[email protected]_preview-lock-image/report-3d01d0.html515
-rw-r--r--[email protected]_preview-lock-image/report-4a57e1.html2921
-rw-r--r--[email protected]_preview-lock-image/report-4ae85d.html902
-rw-r--r--[email protected]_preview-lock-image/report-57aae0.html902
-rw-r--r--[email protected]_preview-lock-image/report-5b70e8.html515
-rw-r--r--[email protected]_preview-lock-image/report-608740.html2921
-rw-r--r--[email protected]_preview-lock-image/report-6909c4.html1022
-rw-r--r--[email protected]_preview-lock-image/report-74ac0f.html1022
-rw-r--r--[email protected]_preview-lock-image/report-7a6407.html515
-rw-r--r--[email protected]_preview-lock-image/report-7b08c8.html949
-rw-r--r--[email protected]_preview-lock-image/report-821a0a.html531
-rw-r--r--[email protected]_preview-lock-image/report-915592.html1183
-rw-r--r--[email protected]_preview-lock-image/report-983623.html902
-rw-r--r--[email protected]_preview-lock-image/report-9a4c25.html957
-rw-r--r--[email protected]_preview-lock-image/report-9c7ebe.html515
-rw-r--r--[email protected]_preview-lock-image/report-a3da09.html902
-rw-r--r--[email protected]_preview-lock-image/report-c05f6e.html515
-rw-r--r--[email protected]_preview-lock-image/report-c2ccb1.html902
-rw-r--r--2020-10-18-[email protected]_preview-lock-image/report-c6e0f4.html515
-rw-r--r--[email protected]_preview-lock-image/report-c9466f.html927
-rw-r--r--[email protected]_preview-lock-image/report-cec515.html515
-rw-r--r--[email protected]_preview-lock-image/report-d07f08.html1183
-rw-r--r--[email protected]_preview-lock-image/report-e7a317.html515
-rw-r--r--[email protected]_preview-lock-image/report-ec86f5.html1022
-rw-r--r--[email protected]_preview-lock-image/report-f1fac4.html1183
-rw-r--r--[email protected]_preview-lock-image/report-f73b66.html2921
-rw-r--r--[email protected]_preview-lock-image/scanview.css62
-rw-r--r--[email protected]_preview-lock-image/sorttable.js492
-rw-r--r--[email protected]_preview-lock-image/0.html534
-rw-r--r--[email protected]_preview-lock-image/1.html1374
-rw-r--r--[email protected]_preview-lock-image/10.html1292
-rw-r--r--[email protected]_preview-lock-image/11.html5240
-rw-r--r--[email protected]_preview-lock-image/12.html4872
-rw-r--r--[email protected]_preview-lock-image/13.html4108
-rw-r--r--[email protected]_preview-lock-image/14.html1044
-rw-r--r--[email protected]_preview-lock-image/15.html1520
-rw-r--r--[email protected]_preview-lock-image/16.html5366
-rw-r--r--[email protected]_preview-lock-image/17.html1280
-rw-r--r--[email protected]_preview-lock-image/18.html340
-rw-r--r--[email protected]_preview-lock-image/19.html1178
-rw-r--r--[email protected]_preview-lock-image/2.html2270
-rw-r--r--[email protected]_preview-lock-image/20.html3828
-rw-r--r--[email protected]_preview-lock-image/21.html438
-rw-r--r--[email protected]_preview-lock-image/3.html454
-rw-r--r--[email protected]_preview-lock-image/4.html1188
-rw-r--r--[email protected]_preview-lock-image/5.html376
-rw-r--r--[email protected]_preview-lock-image/6.html1842
-rw-r--r--[email protected]_preview-lock-image/7.html752
-rw-r--r--[email protected]_preview-lock-image/8.html508
-rw-r--r--[email protected]_preview-lock-image/9.html2068
-rw-r--r--[email protected]_preview-lock-image/index.html199
-rw-r--r--[email protected]_preview-lock-image/stats.html125
-rw-r--r--[email protected]_preview-lock-image/style.css137
-rw-r--r--[email protected]_preview-lock-image/index.html193
-rw-r--r--[email protected]_preview-lock-image/report-028f92.html2921
-rw-r--r--[email protected]_preview-lock-image/report-11114d.html902
-rw-r--r--[email protected]_preview-lock-image/report-1babd3.html2921
-rw-r--r--[email protected]_preview-lock-image/report-1cd001.html2921
-rw-r--r--[email protected]_preview-lock-image/report-1e4973.html1022
-rw-r--r--[email protected]_preview-lock-image/report-496094.html902
-rw-r--r--[email protected]_preview-lock-image/report-4b638e.html949
-rw-r--r--[email protected]_preview-lock-image/report-4c5e03.html927
-rw-r--r--[email protected]_preview-lock-image/report-4ebcc4.html1183
-rw-r--r--[email protected]_preview-lock-image/report-59073e.html1022
-rw-r--r--[email protected]_preview-lock-image/report-5cd63e.html1183
-rw-r--r--[email protected]_preview-lock-image/report-6a12ad.html515
-rw-r--r--[email protected]_preview-lock-image/report-85a707.html902
-rw-r--r--[email protected]_preview-lock-image/report-860978.html531
-rw-r--r--[email protected]_preview-lock-image/report-86dfc2.html902
-rw-r--r--[email protected]_preview-lock-image/report-896fee.html1183
-rw-r--r--[email protected]_preview-lock-image/report-8b8788.html481
-rw-r--r--[email protected]_preview-lock-image/report-929a7a.html1183
-rw-r--r--[email protected]_preview-lock-image/report-988840.html2921
-rw-r--r--[email protected]_preview-lock-image/report-9ae546.html1022
-rw-r--r--[email protected]_preview-lock-image/report-a7c071.html515
-rw-r--r--[email protected]_preview-lock-image/report-b0870f.html515
-rw-r--r--[email protected]_preview-lock-image/report-b2103d.html515
-rw-r--r--[email protected]_preview-lock-image/report-b3f437.html515
-rw-r--r--[email protected]_preview-lock-image/report-c6ed61.html515
-rw-r--r--[email protected]_preview-lock-image/report-c7808a.html515
-rw-r--r--[email protected]_preview-lock-image/report-d9c234.html1022
-rw-r--r--[email protected]_preview-lock-image/report-e0fbc9.html902
-rw-r--r--[email protected]_preview-lock-image/report-e87ad8.html957
-rw-r--r--[email protected]_preview-lock-image/report-e91fbc.html515
-rw-r--r--[email protected]_preview-lock-image/report-f8a46a.html902
-rw-r--r--[email protected]_preview-lock-image/scanview.css62
-rw-r--r--[email protected]_preview-lock-image/sorttable.js492
-rw-r--r--[email protected]_preview-lock-image/0.html534
-rw-r--r--[email protected]_preview-lock-image/1.html1374
-rw-r--r--[email protected]_preview-lock-image/10.html1292
-rw-r--r--[email protected]_preview-lock-image/11.html5240
-rw-r--r--[email protected]_preview-lock-image/12.html4872
-rw-r--r--[email protected]_preview-lock-image/13.html4108
-rw-r--r--[email protected]_preview-lock-image/14.html1044
-rw-r--r--[email protected]88ac3a_preview-lock-image/15.html1520
-rw-r--r--[email protected]_preview-lock-image/16.html5366
-rw-r--r--[email protected]_preview-lock-image/17.html1280
-rw-r--r--[email protected]_preview-lock-image/18.html340
-rw-r--r--[email protected]_preview-lock-image/19.html1178
-rw-r--r--[email protected]_preview-lock-image/2.html2270
-rw-r--r--[email protected]_preview-lock-image/20.html3830
-rw-r--r--[email protected]_preview-lock-image/21.html438
-rw-r--r--[email protected]_preview-lock-image/3.html454
-rw-r--r--[email protected]_preview-lock-image/4.html1188
-rw-r--r--[email protected]_preview-lock-image/5.html376
-rw-r--r--[email protected]_preview-lock-image/6.html1842
-rw-r--r--[email protected]_preview-lock-image/7.html752
-rw-r--r--[email protected]_preview-lock-image/8.html508
-rw-r--r--[email protected]_preview-lock-image/9.html2068
-rw-r--r--[email protected]_preview-lock-image/index.html199
-rw-r--r--[email protected]_preview-lock-image/stats.html125
-rw-r--r--[email protected]_preview-lock-image/style.css137
-rw-r--r--CNAME1
-rw-r--r--index.html46
592 files changed, 768869 insertions, 0 deletions
diff --git a/[email protected]_master/index.html b/[email protected]_master/index.html
new file mode 100644
index 0000000..5b9a42e
--- /dev/null
+++ b/[email protected]_master/index.html
@@ -0,0 +1,193 @@
+<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>Thu Aug 20 16:24:34 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">31</td><td><center><input type="checkbox" id="AllBugsCheck" onClick="CopyCheckedStateToCheckButtons(this);" checked/></center></td></tr>
+<tr><th>Dead code</th><th colspan=2></th></tr>
+<tr><td class="SUMM_DESC">Unreachable code</td><td class="Q">3</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_dead_code_unreachable_code');" 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">18</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">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><th>Memory error</th><th colspan=2></th></tr>
+<tr><td class="SUMM_DESC">Memory leak</td><td class="Q">1</td><td><center><input type="checkbox" onClick="ToggleDisplay(this,'bt_memory_error_memory_leak');" 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">4</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">4</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>rc/gs-window-x11.c</td><td class="DESC">lock_command_watch</td><td class="Q">1631</td><td class="Q">1</td><td><a href="report-ae8fbc.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-ae8fbc.html" -->
+</tr>
+<tr class="bt_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>rc/gs-auth-pam.c</td><td class="DESC">create_pam_handle</td><td class="Q">406</td><td class="Q">1</td><td><a href="report-7b3b28.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-7b3b28.html" -->
+</tr>
+<tr class="bt_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>rc/mate-screensaver-command.c</td><td class="DESC">do_command</td><td class="Q">444</td><td class="Q">1</td><td><a href="report-0b6bb6.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-0b6bb6.html" -->
+</tr>
+<tr class="bt_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>rc/gs-watcher-x11.c</td><td class="DESC">disable_builtin_screensaver</td><td class="Q">596</td><td class="Q">1</td><td><a href="report-91fa2f.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-91fa2f.html" -->
+</tr>
+<tr class="bt_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>rc/gs-watcher-x11.c</td><td class="DESC">disable_builtin_screensaver</td><td class="Q">595</td><td class="Q">1</td><td><a href="report-06535e.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-06535e.html" -->
+</tr>
+<tr class="bt_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>rc/gs-watcher-x11.c</td><td class="DESC">connect_presence_watcher</td><td class="Q">466</td><td class="Q">1</td><td><a href="report-3cff4c.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-3cff4c.html" -->
+</tr>
+<tr class="bt_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>rc/gs-auth-pam.c</td><td class="DESC">pam_conversation</td><td class="Q">281</td><td class="Q">1</td><td><a href="report-1f5779.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-1f5779.html" -->
+</tr>
+<tr class="bt_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>avers/gste-popsquares.c</td><td class="DESC">make_color_ramp</td><td class="Q">231</td><td class="Q">1</td><td><a href="report-c3e718.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-c3e718.html" -->
+</tr>
+<tr class="bt_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>rc/gs-auth-pam.c</td><td class="DESC">create_pam_handle</td><td class="Q">408</td><td class="Q">1</td><td><a href="report-bd9019.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-bd9019.html" -->
+</tr>
+<tr class="bt_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>rc/mate-screensaver-command.c</td><td class="DESC">do_command</td><td class="Q">439</td><td class="Q">1</td><td><a href="report-40c741.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-40c741.html" -->
+</tr>
+<tr class="bt_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>rc/gs-auth-pam.c</td><td class="DESC">gs_auth_pam_verify_user</td><td class="Q">701</td><td class="Q">1</td><td><a href="report-f1e0fe.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-f1e0fe.html" -->
+</tr>
+<tr class="bt_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>rc/gs-watcher-x11.c</td><td class="DESC">disable_builtin_screensaver</td><td class="Q">598</td><td class="Q">1</td><td><a href="report-409acd.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-409acd.html" -->
+</tr>
+<tr class="bt_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>rc/mate-screensaver-command.c</td><td class="DESC">do_command</td><td class="Q">339</td><td class="Q">1</td><td><a href="report-9fb5a9.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-9fb5a9.html" -->
+</tr>
+<tr class="bt_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>rc/mate-screensaver-command.c</td><td class="DESC">do_command</td><td class="Q">429</td><td class="Q">1</td><td><a href="report-01febc.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-01febc.html" -->
+</tr>
+<tr class="bt_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>rc/gs-window-x11.c</td><td class="DESC">error_watch</td><td class="Q">1027</td><td class="Q">1</td><td><a href="report-ed4043.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-ed4043.html" -->
+</tr>
+<tr class="bt_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>rc/gs-window-x11.c</td><td class="DESC">keyboard_command_watch</td><td class="Q">1363</td><td class="Q">1</td><td><a href="report-ff3e9c.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-ff3e9c.html" -->
+</tr>
+<tr class="bt_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>rc/mate-screensaver-command.c</td><td class="DESC">do_command</td><td class="Q">434</td><td class="Q">1</td><td><a href="report-a41662.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-a41662.html" -->
+</tr>
+<tr class="bt_dead_store_dead_assignment"><td class="DESC">Dead store</td><td class="DESC">Dead assignment</td><td>rc/gs-window-x11.c</td><td class="DESC">spawn_on_window</td><td class="Q">1130</td><td class="Q">1</td><td><a href="report-f667f5.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-f667f5.html" -->
+</tr>
+<tr class="bt_memory_error_memory_leak"><td class="DESC">Memory error</td><td class="DESC">Memory leak</td><td>rc/mate-screensaver-command.c</td><td class="DESC">get_string_from_iter</td><td class="Q">326</td><td class="Q">27</td><td><a href="report-74b008.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-74b008.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>avers/xdg-user-dir-lookup.c</td><td class="DESC">xdg_user_dir_lookup</td><td class="Q">91</td><td class="Q">17</td><td><a href="report-0b5f8a.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-0b5f8a.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>avers/xdg-user-dir-lookup.c</td><td class="DESC">xdg_user_dir_lookup</td><td class="Q">118</td><td class="Q">1</td><td><a href="report-6304f7.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-6304f7.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>avers/xdg-user-dir-lookup.c</td><td class="DESC">xdg_user_dir_lookup</td><td class="Q">55</td><td class="Q">1</td><td><a href="report-5eec6c.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-5eec6c.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>avers/xdg-user-dir-lookup.c</td><td class="DESC">xdg_user_dir_lookup</td><td class="Q">146</td><td class="Q">1</td><td><a href="report-6454be.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-6454be.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>avers/xdg-user-dir-lookup.c</td><td class="DESC">xdg_user_dir_lookup</td><td class="Q">61</td><td class="Q">1</td><td><a href="report-88e788.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-88e788.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>avers/xdg-user-dir-lookup.c</td><td class="DESC">xdg_user_dir_lookup</td><td class="Q">60</td><td class="Q">1</td><td><a href="report-cb10b4.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-cb10b4.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>avers/xdg-user-dir-lookup.c</td><td class="DESC">xdg_user_dir_lookup</td><td class="Q">145</td><td class="Q">1</td><td><a href="report-1b22cd.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-1b22cd.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>avers/xdg-user-dir-lookup.c</td><td class="DESC">xdg_user_dir_lookup</td><td class="Q">117</td><td class="Q">1</td><td><a href="report-8673e2.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-8673e2.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>avers/xdg-user-dir-lookup.c</td><td class="DESC">xdg_user_dir_lookup</td><td class="Q">54</td><td class="Q">1</td><td><a href="report-dca8b3.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-dca8b3.html" -->
+</tr>
+<tr class="bt_dead_code_unreachable_code"><td class="DESC">Dead code</td><td class="DESC">Unreachable code</td><td>rc/test-fade.c</td><td class="DESC">main</td><td class="Q">93</td><td class="Q">1</td><td><a href="report-4ab41f.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-4ab41f.html" -->
+</tr>
+<tr class="bt_dead_code_unreachable_code"><td class="DESC">Dead code</td><td class="DESC">Unreachable code</td><td>rc/mate-screensaver-command.c</td><td class="DESC">main</td><td class="Q">528</td><td class="Q">1</td><td><a href="report-455faf.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-455faf.html" -->
+</tr>
+<tr class="bt_dead_code_unreachable_code"><td class="DESC">Dead code</td><td class="DESC">Unreachable code</td><td>rc/mate-screensaver-dialog.c</td><td class="DESC">main</td><td class="Q">584</td><td class="Q">1</td><td><a href="report-cdc07c.html#EndPath">View Report</a></td>
+<!-- REPORTBUG id="report-cdc07c.html" -->
+</tr>
+</tbody>
+</table>
+
+</body></html>
diff --git a/[email protected]_master/report-01febc.html b/[email protected]_master/report-01febc.html
new file mode 100644
index 0000000..fbbfda0
--- /dev/null
+++ b/[email protected]_master/report-01febc.html
@@ -0,0 +1,902 @@
+<!doctype html>
+<html>
+<head>
+<title>mate-screensaver-command.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 'reply' is never read -->
+
+<!-- BUGTYPE Dead assignment -->
+
+<!-- BUGCATEGORY Dead store -->
+
+<!-- BUGFILE /rootdir/src/mate-screensaver-command.c -->
+
+<!-- FILENAME mate-screensaver-command.c -->
+
+<!-- FUNCTIONNAME do_command -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 958ab416ef367333abda36a3d3563b92 -->
+
+<!-- BUGLINE 429 -->
+
+<!-- BUGCOLUMN 3 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>rc/mate-screensaver-command.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 429, column 3</a><br />Value stored to 'reply' 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 mate-screensaver-command.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=all -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 . -D MATEMENU_I_KNOW_THIS_IS_UNSTABLE -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/mate-desktop-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -I /usr/include/mate-menus -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/include/mate-desktop-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -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/include/mate-desktop-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -I /usr/include/mate-menus -D PREFIX="/usr/local" -D BINDIR="/usr/local/bin" -D LIBDIR="/usr/local/lib" -D LIBEXECDIR="/usr/local/libexec" -D DATADIR="/usr/local/share" -D SYSCONFDIR="/usr/local/etc" -D MATELOCALEDIR="/usr/local/share/locale" -D SAVERDIR="/usr/local/libexec/mate-screensaver" -D THEMESDIR="/usr/local/share/mate-screensaver/themes" -D GTKBUILDERDIR="/usr/local/share/mate-screensaver" -D PAM_SERVICE_NAME="mate-screensaver" -D G_DISABLE_ASSERT -D G_DISABLE_CHECKS -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libxml2 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/src -ferror-limit 19 -fmessage-length 0 -fgnuc-version=4.2.1 -fobjc-runtime=gcc -fdiagnostics-show-option -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-20-162434-6530-1 -x c mate-screensaver-command.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": {"429": 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'>/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-</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'>* Copyright (C) 2004-2006 William Jon McCann &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* This program is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public License as</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* published by the Free Software Foundation; either version 2 of the</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful, but</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</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="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</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="16"><td class="num" id="LN16">16</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="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* 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'>* Authors: William Jon McCann &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#include "config.h"</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;stdlib.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;locale.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;glib.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;glib/gi18n.h&gt;</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 DBUS_API_SUBJECT_TO_CHANGE</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;dbus/dbus.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;dbus/dbus-glib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;dbus/dbus-glib-lowlevel.h&gt;</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'>GS_SERVICE<span class='macro_popup'>"org.mate.ScreenSaver"</span></span> "org.mate.ScreenSaver"</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'>GS_PATH<span class='macro_popup'>"/org/mate/ScreenSaver"</span></span> "/org/mate/ScreenSaver"</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'>GS_INTERFACE<span class='macro_popup'>"org.mate.ScreenSaver"</span></span> "org.mate.ScreenSaver"</span></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"><span class='keyword'>static</span> gboolean do_quit = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='keyword'>static</span> gboolean do_lock = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='keyword'>static</span> gboolean do_unlock = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='keyword'>static</span> gboolean do_cycle = <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"><span class='keyword'>static</span> gboolean do_activate = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='keyword'>static</span> gboolean do_deactivate = <span class='macro'>FALSE<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'>static</span> gboolean do_version = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='keyword'>static</span> gboolean do_poke = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='keyword'>static</span> gboolean do_inhibit = <span class='macro'>FALSE<span class='macro_popup'>(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"><span class='keyword'>static</span> gboolean do_query = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='keyword'>static</span> gboolean do_time = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</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'>char</span> *inhibit_reason = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *inhibit_application = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> GOptionEntry entries [] =</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"> {</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> <span class='string_literal'>"exit"</span>, 0, 0, G_OPTION_ARG_NONE, &amp;do_quit,</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"Causes the screensaver to exit gracefully"</span>)<span class='macro_popup'>("Causes the screensaver to exit gracefully")</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> },</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='string_literal'>"query"</span>, 'q', 0, G_OPTION_ARG_NONE, &amp;do_query,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"Query the state of the screensaver"</span>)<span class='macro_popup'>("Query the state of the screensaver")</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></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"> {</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> <span class='string_literal'>"time"</span>, 't', 0, G_OPTION_ARG_NONE, &amp;do_time,</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"Query the length of time the screensaver has been active"</span>)<span class='macro_popup'>("Query the length of time the screensaver has been active")</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='string_literal'>"lock"</span>, 'l', 0, G_OPTION_ARG_NONE, &amp;do_lock,</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"Tells the running screensaver process to lock the screen immediately"</span>)<span class='macro_popup'>("Tells the running screensaver process to lock the screen immediately"<br>)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> <span class='string_literal'>"unlock"</span>, 'u', 0, G_OPTION_ARG_NONE, &amp;do_unlock,</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"Tells the running screensaver process to unlock the screen immediately"</span>)<span class='macro_popup'>("Tells the running screensaver process to unlock the screen immediately"<br>)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></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"> {</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> <span class='string_literal'>"cycle"</span>, 'c', 0, G_OPTION_ARG_NONE, &amp;do_cycle,</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"If the screensaver is active then switch to another graphics demo"</span>)<span class='macro_popup'>("If the screensaver is active then switch to another graphics demo"<br>)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> <span class='string_literal'>"activate"</span>, 'a', 0, G_OPTION_ARG_NONE, &amp;do_activate,</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"Turn the screensaver on (blank the screen)"</span>)<span class='macro_popup'>("Turn the screensaver on (blank the screen)")</span></span>, <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"> },</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> <span class='string_literal'>"deactivate"</span>, 'd', 0, G_OPTION_ARG_NONE, &amp;do_deactivate,</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"If the screensaver is active then deactivate it (un-blank the screen)"</span>)<span class='macro_popup'>("If the screensaver is active then deactivate it (un-blank the screen)"<br>)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='string_literal'>"poke"</span>, 'p', 0, G_OPTION_ARG_NONE, &amp;do_poke,</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"Poke the running screensaver to simulate user activity"</span>)<span class='macro_popup'>("Poke the running screensaver to simulate user activity")</span></span>, <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"> },</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> <span class='string_literal'>"inhibit"</span>, 'i', 0, G_OPTION_ARG_NONE, &amp;do_inhibit,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"Inhibit the screensaver from activating. Command blocks while inhibit is active."</span>)<span class='macro_popup'>("Inhibit the screensaver from activating. Command blocks while inhibit is active."<br>)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> <span class='string_literal'>"application-name"</span>, 'n', 0, G_OPTION_ARG_STRING, &amp;inhibit_application,</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"The calling application that is inhibiting the screensaver"</span>)<span class='macro_popup'>("The calling application that is inhibiting the screensaver"<br>)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> },</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"> <span class='string_literal'>"reason"</span>, 'r', 0, G_OPTION_ARG_STRING, &amp;inhibit_reason,</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"The reason for inhibiting the screensaver"</span>)<span class='macro_popup'>("The reason for inhibiting the screensaver")</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> <span class='string_literal'>"version"</span>, 'V', 0, G_OPTION_ARG_NONE, &amp;do_version,</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"Version of this application"</span>)<span class='macro_popup'>("Version of this application")</span></span>, <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"> },</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> { <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> }</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"> </td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"><span class='keyword'>static</span> GMainLoop *loop = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line">screensaver_is_running (DBusConnection *connection)</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> DBusError error;</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> gboolean exists;</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='macro'>g_return_val_if_fail (connection != NULL, FALSE)<span class='macro_popup'>do{ (void)0; }while (0)</span></span>;</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"> dbus_error_init (&amp;error);</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> exists = dbus_bus_name_has_owner (connection, <span class='macro'>GS_SERVICE<span class='macro_popup'>"org.mate.ScreenSaver"</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> (dbus_error_is_set (&amp;error))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> dbus_error_free (&amp;error);</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> <span class='keyword'>return</span> exists;</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"><span class='keyword'>static</span> DBusMessage *</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line">screensaver_send_message_inhibit (DBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *application,</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *reason)</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"> DBusMessage *message;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> DBusMessage *reply;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> DBusError error;</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> DBusMessageIter iter;</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"> <span class='macro'>g_return_val_if_fail (connection != NULL, NULL)<span class='macro_popup'>do{ (void)0; }while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> dbus_error_init (&amp;error);</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"> message = dbus_message_new_method_call (<span class='macro'>GS_SERVICE<span class='macro_popup'>"org.mate.ScreenSaver"</span></span>, <span class='macro'>GS_PATH<span class='macro_popup'>"/org/mate/ScreenSaver"</span></span>, <span class='macro'>GS_INTERFACE<span class='macro_popup'>"org.mate.ScreenSaver"</span></span>, <span class='string_literal'>"Inhibit"</span>);</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> <span class='keyword'>if</span> (message == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</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"> g_warning (<span class='string_literal'>"Couldn't allocate the dbus message"</span>);</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="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"> </td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> dbus_message_iter_init_append (message, &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> dbus_message_iter_append_basic (&amp;iter, <span class='macro'>DBUS_TYPE_STRING<span class='macro_popup'>((int) 's')</span></span>, &amp;application);</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> dbus_message_iter_append_basic (&amp;iter, <span class='macro'>DBUS_TYPE_STRING<span class='macro_popup'>((int) 's')</span></span>, &amp;reason);</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> reply = dbus_connection_send_with_reply_and_block (connection,</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> message,</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> -1, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> <span class='keyword'>if</span> (dbus_error_is_set (&amp;error))</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"> g_warning (<span class='string_literal'>"%s raised:\n %s\n\n"</span>, error.name, error.message);</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> reply = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</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"> </td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> dbus_connection_flush (connection);</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"> dbus_message_unref (message);</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> dbus_error_free (&amp;error);</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> <span class='keyword'>return</span> reply;</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"> </td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"><span class='keyword'>static</span> DBusMessage *</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line">screensaver_send_message_bool (DBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name,</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> gboolean value)</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"> DBusMessage *message;</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> DBusMessage *reply;</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> DBusError error;</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> DBusMessageIter iter;</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='macro'>g_return_val_if_fail (connection != NULL, NULL)<span class='macro_popup'>do{ (void)0; }while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> <span class='macro'>g_return_val_if_fail (name != NULL, NULL)<span class='macro_popup'>do{ (void)0; }while (0)</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"> dbus_error_init (&amp;error);</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> message = dbus_message_new_method_call (<span class='macro'>GS_SERVICE<span class='macro_popup'>"org.mate.ScreenSaver"</span></span>, <span class='macro'>GS_PATH<span class='macro_popup'>"/org/mate/ScreenSaver"</span></span>, <span class='macro'>GS_INTERFACE<span class='macro_popup'>"org.mate.ScreenSaver"</span></span>, name);</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> <span class='keyword'>if</span> (message == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> g_warning (<span class='string_literal'>"Couldn't allocate the dbus message"</span>);</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="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"> </td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> dbus_message_iter_init_append (message, &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> dbus_message_iter_append_basic (&amp;iter, <span class='macro'>DBUS_TYPE_BOOLEAN<span class='macro_popup'>((int) 'b')</span></span>, &amp;value);</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> reply = dbus_connection_send_with_reply_and_block (connection,</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> message,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> -1, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> <span class='keyword'>if</span> (dbus_error_is_set (&amp;error))</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"> g_warning (<span class='string_literal'>"%s raised:\n %s\n\n"</span>, error.name, error.message);</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> reply = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</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"> </td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> dbus_connection_flush (connection);</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"> dbus_message_unref (message);</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> dbus_error_free (&amp;error);</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'>return</span> reply;</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line">}</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'>static</span> DBusMessage *</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line">screensaver_send_message_void (DBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name,</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> gboolean expect_reply)</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> DBusMessage *message;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> DBusMessage *reply;</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> DBusError error;</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> <span class='macro'>g_return_val_if_fail (connection != NULL, NULL)<span class='macro_popup'>do{ (void)0; }while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='macro'>g_return_val_if_fail (name != NULL, NULL)<span class='macro_popup'>do{ (void)0; }while (0)</span></span>;</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"> dbus_error_init (&amp;error);</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> message = dbus_message_new_method_call (<span class='macro'>GS_SERVICE<span class='macro_popup'>"org.mate.ScreenSaver"</span></span>, <span class='macro'>GS_PATH<span class='macro_popup'>"/org/mate/ScreenSaver"</span></span>, <span class='macro'>GS_INTERFACE<span class='macro_popup'>"org.mate.ScreenSaver"</span></span>, name);</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> <span class='keyword'>if</span> (message == <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"> g_warning (<span class='string_literal'>"Couldn't allocate the dbus message"</span>);</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="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"> </td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> <span class='keyword'>if</span> (! expect_reply)</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'>if</span> (!dbus_connection_send (connection, message, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> g_warning (<span class='string_literal'>"could not send message"</span>);</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> reply = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></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"> <span class='keyword'>else</span></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"> reply = dbus_connection_send_with_reply_and_block (connection,</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> message,</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> -1, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> <span class='keyword'>if</span> (dbus_error_is_set (&amp;error))</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"> g_warning (<span class='string_literal'>"%s raised:\n %s\n\n"</span>, error.name, error.message);</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> reply = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> }</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"> dbus_connection_flush (connection);</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> dbus_message_unref (message);</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> dbus_error_free (&amp;error);</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> <span class='keyword'>return</span> reply;</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"> </td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> **</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line">get_string_from_iter (DBusMessageIter *iter,</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> <span class='keyword'>int</span> *num_elements)</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='keyword'>int</span> count;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> <span class='keyword'>char</span> **buffer;</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='keyword'>if</span> (num_elements != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> *num_elements = 0;</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"> </td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> count = 0;</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> buffer = (<span class='keyword'>char</span> **)malloc (<span class='keyword'>sizeof</span> (<span class='keyword'>char</span> *) * 8);</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"> <span class='keyword'>if</span> (buffer == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>goto</span> oom;</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> buffer[0] = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> <span class='keyword'>while</span> (dbus_message_iter_get_arg_type (iter) == <span class='macro'>DBUS_TYPE_STRING<span class='macro_popup'>((int) 's')</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *value;</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> <span class='keyword'>char</span> *str;</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> ((count % 8) == 0 &amp;&amp; count != 0)</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> buffer = realloc (buffer, <span class='keyword'>sizeof</span> (<span class='keyword'>char</span> *) * (count + 8));</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> <span class='keyword'>if</span> (buffer == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</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'>goto</span> oom;</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"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> dbus_message_iter_get_basic (iter, &amp;value);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> str = strdup (value);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> <span class='keyword'>if</span> (str == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</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"> <span class='keyword'>goto</span> oom;</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> buffer[count] = str;</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> dbus_message_iter_next (iter);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> count++;</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> <span class='keyword'>if</span> ((count % 8) == 0)</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"> buffer = realloc (buffer, <span class='keyword'>sizeof</span> (<span class='keyword'>char</span> *) * (count + 1));</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> <span class='keyword'>if</span> (buffer == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>goto</span> oom;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> }</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"> </td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> buffer[count] = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> <span class='keyword'>if</span> (num_elements != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> *num_elements = count;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> <span class='keyword'>return</span> buffer;</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line">oom:</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> g_debug (<span class='string_literal'>"%s %d : error allocating memory\n"</span>, <span class='macro'>__FILE__<span class='macro_popup'>"mate-screensaver-command.c"</span></span>, <span class='macro'>__LINE__<span class='macro_popup'>326</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> </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"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line">do_command (gpointer data)</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"> DBusConnection *connection = data;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> DBusMessage *reply;</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (do_quit)</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"> reply = screensaver_send_message_void (connection, <span class='string_literal'>"Quit"</span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> <span class='keyword'>goto</span> done;</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"> </td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> <span class='keyword'>if</span> (do_query)</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> DBusMessageIter iter;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> DBusMessageIter array;</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> dbus_bool_t v;</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"> reply = screensaver_send_message_void (connection, <span class='string_literal'>"GetActive"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>if</span> (! reply)</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> g_message (<span class='string_literal'>"Did not receive a reply from the screensaver."</span>);</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> <span class='keyword'>goto</span> done;</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> }</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"> dbus_message_iter_init (reply, &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dbus_message_iter_get_basic (&amp;iter, &amp;v);</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> g_print (<span class='macro'>_(<span class='string_literal'>"The screensaver is %s\n"</span>)<span class='macro_popup'>gettext ("The screensaver is %s\n")</span></span>, v ? <span class='macro'>_(<span class='string_literal'>"active"</span>)<span class='macro_popup'>gettext ("active")</span></span> : <span class='macro'>_(<span class='string_literal'>"inactive"</span>)<span class='macro_popup'>gettext ("inactive")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> dbus_message_unref (reply);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> reply = screensaver_send_message_void (connection, <span class='string_literal'>"GetInhibitors"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> <span class='keyword'>if</span> (! reply)</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"> g_message (<span class='string_literal'>"Did not receive a reply from screensaver."</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> <span class='keyword'>goto</span> done;</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"> </td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> dbus_message_iter_init (reply, &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> dbus_message_iter_recurse (&amp;iter, &amp;array);</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dbus_message_iter_get_arg_type (&amp;array) == <span class='macro'>DBUS_TYPE_INVALID<span class='macro_popup'>((int) '\0')</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> g_print (<span class='macro'>_(<span class='string_literal'>"The screensaver is not inhibited\n"</span>)<span class='macro_popup'>gettext ("The screensaver is not inhibited\n")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> <span class='keyword'>else</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"> <span class='keyword'>char</span> **inhibitors;</td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> <span class='keyword'>int</span> num;</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> g_print (<span class='macro'>_(<span class='string_literal'>"The screensaver is being inhibited by:\n"</span>)<span class='macro_popup'>gettext ("The screensaver is being inhibited by:\n")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> inhibitors = get_string_from_iter (&amp;array, &amp;num);</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; num; i++)</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_print (<span class='string_literal'>"\t%s\n"</span>, inhibitors[i]);</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"> g_strfreev (inhibitors);</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"> </td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> dbus_message_unref (reply);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> <span class='keyword'>if</span> (do_time)</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> DBusMessageIter iter;</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> dbus_bool_t v;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> dbus_int32_t t;</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> reply = screensaver_send_message_void (connection, <span class='string_literal'>"GetActive"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> <span class='keyword'>if</span> (! reply)</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"> g_message (<span class='string_literal'>"Did not receive a reply from the screensaver."</span>);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>goto</span> done;</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> }</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"> dbus_message_iter_init (reply, &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> dbus_message_iter_get_basic (&amp;iter, &amp;v);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> dbus_message_unref (reply);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (v)</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> reply = screensaver_send_message_void (connection, <span class='string_literal'>"GetActiveTime"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> dbus_message_iter_init (reply, &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> dbus_message_iter_get_basic (&amp;iter, &amp;t);</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> g_print (<span class='macro'>_(<span class='string_literal'>"The screensaver has been active for %d seconds.\n"</span>)<span class='macro_popup'>gettext ("The screensaver has been active for %d seconds.\n")</span></span>, t);</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"> dbus_message_unref (reply);</td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> <span class='keyword'>else</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"> g_print (<span class='macro'>_(<span class='string_literal'>"The screensaver is not currently active.\n"</span>)<span class='macro_popup'>gettext ("The screensaver is not currently active.\n")</span></span>);</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"> </td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> <span class='keyword'>if</span> (do_lock)</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"> reply = <span class="mrange">screensaver_send_message_void (connection, <span class='string_literal'>"Lock"</span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>)</span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:17ex">Value stored to 'reply' is never read</div></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'>if</span> (do_unlock)</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"> reply = screensaver_send_message_void (connection, <span class='string_literal'>"Unlock"</span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> }</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"> <span class='keyword'>if</span> (do_cycle)</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> reply = screensaver_send_message_void (connection, <span class='string_literal'>"Cycle"</span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> <span class='keyword'>if</span> (do_poke)</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> reply = screensaver_send_message_void (connection, <span class='string_literal'>"SimulateUserActivity"</span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> <span class='keyword'>if</span> (do_activate)</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> reply = screensaver_send_message_bool (connection, <span class='string_literal'>"SetActive"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> <span class='keyword'>if</span> (! reply)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> g_message (<span class='string_literal'>"Did not receive a reply from the screensaver."</span>);</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>goto</span> done;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> dbus_message_unref (reply);</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"> </td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>if</span> (do_deactivate)</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> reply = screensaver_send_message_bool (connection, <span class='string_literal'>"SetActive"</span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> <span class='keyword'>if</span> (! reply)</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> g_message (<span class='string_literal'>"Did not receive a reply from the screensaver."</span>);</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> <span class='keyword'>goto</span> done;</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> dbus_message_unref (reply);</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> }</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"> <span class='keyword'>if</span> (do_inhibit)</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> reply = screensaver_send_message_inhibit (connection,</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> inhibit_application ? inhibit_application : <span class='string_literal'>"Unknown"</span>,</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> inhibit_reason ? inhibit_reason : <span class='string_literal'>"Unknown"</span>);</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> <span class='keyword'>if</span> (! reply)</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> g_message (<span class='string_literal'>"Did not receive a reply from the screensaver."</span>);</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>goto</span> done;</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"> dbus_message_unref (reply);</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> }</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">done:</td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_main_loop_quit (loop);</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</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="488"><td class="num" id="LN488">488</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line">main (<span class='keyword'>int</span> argc,</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='keyword'>char</span> **argv)</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> DBusConnection *connection;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> DBusError dbus_error;</td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> GOptionContext *context;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> gboolean retval;</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</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="499"><td class="num" id="LN499">499</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"><span class='directive'>#ifdef <span class='macro'>ENABLE_NLS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> bindtextdomain (<span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-screensaver"</span></span>, <span class='macro'>MATELOCALEDIR<span class='macro_popup'>"/usr/local/share/locale"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"><span class='directive'># ifdef HAVE_BIND_TEXTDOMAIN_CODESET</span></td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> bind_textdomain_codeset (<span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-screensaver"</span></span>, <span class='string_literal'>"UTF-8"</span>);</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"><span class='directive'># endif</span></td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> textdomain (<span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-screensaver"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"><span class='directive'>#endif</span></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"> g_set_prgname (argv[0]);</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>if</span> (setlocale (<span class='macro'>LC_ALL<span class='macro_popup'>6</span></span>, <span class='string_literal'>""</span>) == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> g_warning (<span class='string_literal'>"Locale not understood by C library, internationalization will not work\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> context = g_option_context_new (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> g_option_context_add_main_entries (context, entries, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> retval = g_option_context_parse (context, &amp;argc, &amp;argv, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> g_option_context_free (context);</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"> <span class='keyword'>if</span> (! retval)</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> g_warning (<span class='string_literal'>"%s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"> exit (1);</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> <span class='keyword'>if</span> (do_version)</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"> g_print (<span class='string_literal'>"%s %s\n"</span>, argv [0], <span class='macro'>VERSION<span class='macro_popup'>"1.24.0"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> exit (1);</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"> </td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> dbus_error_init (&amp;dbus_error);</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> connection = dbus_bus_get (DBUS_BUS_SESSION, &amp;dbus_error);</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> <span class='keyword'>if</span> (! connection)</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> g_message (<span class='string_literal'>"Failed to connect to the D-BUS daemon: %s"</span>, dbus_error.message);</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> dbus_error_free (&amp;dbus_error);</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> exit (1);</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"> </td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> dbus_connection_setup_with_g_main (connection, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>if</span> (! screensaver_is_running (connection))</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> g_message (<span class='string_literal'>"Screensaver is not running!"</span>);</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> exit (1);</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> g_idle_add (do_command, connection);</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"> loop = g_main_loop_new (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> g_main_loop_run (loop);</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/[email protected]_master/report-06535e.html b/[email protected]_master/report-06535e.html
new file mode 100644
index 0000000..2b4e799
--- /dev/null
+++ b/[email protected]_master/report-06535e.html
@@ -0,0 +1,1022 @@
+<!doctype html>
+<html>
+<head>
+<title>gs-watcher-x11.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 'desired_server_timeout' is never read -->
+
+<!-- BUGTYPE Dead assignment -->
+
+<!-- BUGCATEGORY Dead store -->
+
+<!-- BUGFILE /rootdir/src/gs-watcher-x11.c -->
+
+<!-- FILENAME gs-watcher-x11.c -->
+
+<!-- FUNCTIONNAME disable_builtin_screensaver -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 2dd8bcbf8aa81770b44f11c719e8f411 -->
+
+<!-- BUGLINE 595 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>rc/gs-watcher-x11.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 595, column 2</a><br />Value stored to 'desired_server_timeout' 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 gs-watcher-x11.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=all -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 . -D MATEMENU_I_KNOW_THIS_IS_UNSTABLE -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/mate-desktop-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -I /usr/include/mate-menus -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/include/mate-desktop-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -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/include/mate-desktop-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -I /usr/include/mate-menus -D PREFIX="/usr/local" -D BINDIR="/usr/local/bin" -D LIBDIR="/usr/local/lib" -D LIBEXECDIR="/usr/local/libexec" -D DATADIR="/usr/local/share" -D SYSCONFDIR="/usr/local/etc" -D MATELOCALEDIR="/usr/local/share/locale" -D SAVERDIR="/usr/local/libexec/mate-screensaver" -D THEMESDIR="/usr/local/share/mate-screensaver/themes" -D GTKBUILDERDIR="/usr/local/share/mate-screensaver" -D PAM_SERVICE_NAME="mate-screensaver" -D G_DISABLE_ASSERT -D G_DISABLE_CHECKS -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libxml2 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/src -ferror-limit 19 -fmessage-length 0 -fgnuc-version=4.2.1 -fobjc-runtime=gcc -fdiagnostics-show-option -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-20-162434-6530-1 -x c gs-watcher-x11.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": {"595": 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'>/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-</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'>* Copyright (C) 2004-2006 William Jon McCann &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2008 Red Hat, Inc.</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* This program is free software; you can redistribute it and/or modify</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</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="8"><td class="num" id="LN8">8</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="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>* but WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* GNU General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</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="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'>* Authors: William Jon McCann &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#include "config.h"</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"><span class='directive'>#include &lt;stdlib.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;stdio.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;time.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;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#include &lt;string.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;gdk/gdkx.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;dbus/dbus.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;dbus/dbus-glib.h&gt;</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'>#include "gs-watcher.h"</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#include "gs-marshal.h"</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include "gs-debug.h"</span></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"><span class='keyword'>static</span> <span class='keyword'>void</span> gs_watcher_finalize (GObject *object);</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"><span class='keyword'>static</span> gboolean watchdog_timer (GSWatcher *watcher);</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'>struct</span> GSWatcherPrivate</td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"> <span class='comment'>/* settings */</span></td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> guint enabled : 1;</td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> guint delta_notice_timeout;</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'>/* state */</span></td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> guint active : 1;</td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"> guint idle : 1;</td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"> guint idle_notice : 1;</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"> guint idle_id;</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> <span class='keyword'>char</span> *status_message;</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"> DBusGProxy *presence_proxy;</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> guint watchdog_timer_id;</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"> </td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"><span class='keyword'>enum</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"> PROP_0,</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> PROP_STATUS_MESSAGE</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"><span class='keyword'>enum</span></td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> IDLE_CHANGED,</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> IDLE_NOTICE_CHANGED,</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> LAST_SIGNAL</td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"><span class='keyword'>static</span> guint signals [LAST_SIGNAL] = { 0, };</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"><span class='macro'>G_DEFINE_TYPE_WITH_PRIVATE (GSWatcher, gs_watcher, G_TYPE_OBJECT)<span class='macro_popup'>static void gs_watcher_init (GSWatcher *self); static void gs_watcher_class_init<br> (GSWatcherClass *klass); static GType gs_watcher_get_type_once<br> (void); static gpointer gs_watcher_parent_class = ((void*)0)<br>; static gint GSWatcher_private_offset; static void gs_watcher_class_intern_init<br> (gpointer klass) { gs_watcher_parent_class = g_type_class_peek_parent<br> (klass); if (GSWatcher_private_offset != 0) g_type_class_adjust_private_offset<br> (klass, &amp;GSWatcher_private_offset); gs_watcher_class_init<br> ((GSWatcherClass*) klass); } __attribute__((__unused__)) static<br> inline gpointer gs_watcher_get_instance_private (GSWatcher *<br>self) { return (((gpointer) ((guint8*) (self) + (glong) (GSWatcher_private_offset<br>)))); } GType gs_watcher_get_type (void) { static volatile gsize<br> g_define_type_id__volatile = 0; if ((__extension__ ({ _Static_assert<br> (sizeof *(&amp;g_define_type_id__volatile) == sizeof (gpointer<br>), "Expression evaluates to false"); (void) (0 ? (gpointer) *<br>(&amp;g_define_type_id__volatile) : ((void*)0)); (!(__extension__<br> ({ _Static_assert (sizeof *(&amp;g_define_type_id__volatile)<br> == sizeof (gpointer), "Expression evaluates to false"); gpointer<br> gapg_temp_newval; gpointer *gapg_temp_atomic = (gpointer *)(<br>&amp;g_define_type_id__volatile); __atomic_load (gapg_temp_atomic<br>, &amp;gapg_temp_newval, 5); gapg_temp_newval; })) &amp;&amp;<br> g_once_init_enter (&amp;g_define_type_id__volatile)); }))) {<br> GType g_define_type_id = gs_watcher_get_type_once (); (__extension__<br> ({ _Static_assert (sizeof *(&amp;g_define_type_id__volatile)<br> == sizeof (gpointer), "Expression evaluates to false"); 0 ? (<br>void) (*(&amp;g_define_type_id__volatile) = (g_define_type_id<br>)) : (void) 0; g_once_init_leave ((&amp;g_define_type_id__volatile<br>), (gsize) (g_define_type_id)); })); } return g_define_type_id__volatile<br>; } __attribute__((noinline)) static GType gs_watcher_get_type_once<br> (void) { GType g_define_type_id = g_type_register_static_simple<br> (((GType) ((20) &lt;&lt; (2))), g_intern_static_string ("GSWatcher"<br>), sizeof (GSWatcherClass), (GClassInitFunc)(void (*)(void)) gs_watcher_class_intern_init<br>, sizeof (GSWatcher), (GInstanceInitFunc)(void (*)(void)) gs_watcher_init<br>, (GTypeFlags) 0); { {{ GSWatcher_private_offset = g_type_add_instance_private<br> (g_define_type_id, sizeof (GSWatcherPrivate)); };} } return g_define_type_id<br>; }</span></span></td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line">remove_watchdog_timer (GSWatcher *watcher)</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> <span class='keyword'>if</span> (watcher-&gt;priv-&gt;watchdog_timer_id != 0)</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> g_source_remove (watcher-&gt;priv-&gt;watchdog_timer_id);</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> watcher-&gt;priv-&gt;watchdog_timer_id = 0;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line">add_watchdog_timer (GSWatcher *watcher,</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> glong timeout)</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> watcher-&gt;priv-&gt;watchdog_timer_id = g_timeout_add (timeout,</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> (GSourceFunc)watchdog_timer,</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> watcher);</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line">gs_watcher_get_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> GParamSpec *pspec)</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"> GSWatcher *self;</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> self = <span class='macro'>GS_WATCHER (object)<span class='macro_popup'>((((GSWatcher*) g_type_check_instance_cast ((GTypeInstance*) (<br>(object)), ((gs_watcher_get_type ()))))))</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'>switch</span> (prop_id)</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> <span class='keyword'>case</span> PROP_STATUS_MESSAGE:</td></tr>
+<tr class="codeline" data-linenumber="111"><td class="num" id="LN111">111</td><td class="line"> g_value_set_string (value, self-&gt;priv-&gt;status_message);</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "gs-watcher-x11.c", 114, ("property"), _glib__property_id, _glib__pspec<br>-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance*) (<br>_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name (((<br>(((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line">set_status_text (GSWatcher *watcher,</td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *text)</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"> g_free (watcher-&gt;priv-&gt;status_message);</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> watcher-&gt;priv-&gt;status_message = g_strdup (text);</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> g_object_notify (<span class='macro'>G_OBJECT (watcher)<span class='macro_popup'>((((GObject*) g_type_check_instance_cast ((GTypeInstance*) ((<br>watcher)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>, <span class='string_literal'>"status-message"</span>);</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">gs_watcher_set_property (GObject *object,</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> guint prop_id,</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line"> <span class='keyword'>const</span> GValue *value,</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> GParamSpec *pspec)</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"> GSWatcher *self;</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> self = <span class='macro'>GS_WATCHER (object)<span class='macro_popup'>((((GSWatcher*) g_type_check_instance_cast ((GTypeInstance*) (<br>(object)), ((gs_watcher_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> <span class='keyword'>switch</span> (prop_id)</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"> <span class='keyword'>case</span> PROP_STATUS_MESSAGE:</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> set_status_text (self, g_value_get_string (value));</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class='macro'>G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec)<span class='macro_popup'>do { GObject *_glib__object = (GObject*) ((object)); GParamSpec<br> *_glib__pspec = (GParamSpec*) ((pspec)); guint _glib__property_id<br> = ((prop_id)); g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'"<br>, "gs-watcher-x11.c", 145, ("property"), _glib__property_id, _glib__pspec<br>-&gt;name, g_type_name ((((((GTypeClass*) (((GTypeInstance*) (<br>_glib__pspec))-&gt;g_class))-&gt;g_type)))), (g_type_name (((<br>(((GTypeClass*) (((GTypeInstance*) (_glib__object))-&gt;g_class<br>))-&gt;g_type)))))); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> <span class='keyword'>break</span>;</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">}</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'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line">gs_watcher_class_init (GSWatcherClass *klass)</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"> GObjectClass *object_class = <span class='macro'>G_OBJECT_CLASS (klass)<span class='macro_popup'>((((GObjectClass*) g_type_check_class_cast ((GTypeClass*) ((klass<br>)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>;</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"> object_class-&gt;finalize = gs_watcher_finalize;</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> object_class-&gt;get_property = gs_watcher_get_property;</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> object_class-&gt;set_property = gs_watcher_set_property;</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> g_object_class_install_property (object_class,</td></tr>
+<tr class="codeline" data-linenumber="160"><td class="num" id="LN160">160</td><td class="line"> PROP_STATUS_MESSAGE,</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> g_param_spec_string (<span class='string_literal'>"status-message"</span>,</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> G_PARAM_READWRITE));</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"> signals [IDLE_CHANGED] =</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> g_signal_new (<span class='string_literal'>"idle-changed"</span>,</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (object_class)<span class='macro_popup'>(((GTypeClass*) (object_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (GSWatcherClass, idle_changed)<span class='macro_popup'>((glong) __builtin_offsetof(GSWatcherClass, idle_changed))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="172"><td class="num" id="LN172">172</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line"> gs_marshal_BOOLEAN__BOOLEAN,</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> 1, <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="177"><td class="num" id="LN177">177</td><td class="line"> signals [IDLE_NOTICE_CHANGED] =</td></tr>
+<tr class="codeline" data-linenumber="178"><td class="num" id="LN178">178</td><td class="line"> g_signal_new (<span class='string_literal'>"idle-notice-changed"</span>,</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> <span class='macro'>G_TYPE_FROM_CLASS (object_class)<span class='macro_popup'>(((GTypeClass*) (object_class))-&gt;g_type)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> G_SIGNAL_RUN_LAST,</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> <span class='macro'>G_STRUCT_OFFSET (GSWatcherClass, idle_notice_changed)<span class='macro_popup'>((glong) __builtin_offsetof(GSWatcherClass, idle_notice_changed<br>))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> gs_marshal_BOOLEAN__BOOLEAN,</td></tr>
+<tr class="codeline" data-linenumber="185"><td class="num" id="LN185">185</td><td class="line"> <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="186"><td class="num" id="LN186">186</td><td class="line"> 1, <span class='macro'>G_TYPE_BOOLEAN<span class='macro_popup'>((GType) ((5) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line">_gs_watcher_set_session_idle_notice (GSWatcher *watcher,</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> gboolean in_effect)</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"> gboolean res;</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"> res = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> <span class='keyword'>if</span> (in_effect != watcher-&gt;priv-&gt;idle_notice)</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"> </td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> g_signal_emit (watcher, signals [IDLE_NOTICE_CHANGED], 0, in_effect, &amp;res);</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> <span class='keyword'>if</span> (res)</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"> <span class='macro'>gs_debug (<span class='string_literal'>"Changing idle notice state: %d"</span>, in_effect)<span class='macro_popup'>gs_debug_real (__func__, "gs-watcher-x11.c", 203, "Changing idle notice state: %d"<br>, in_effect)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="205"><td class="num" id="LN205">205</td><td class="line"> watcher-&gt;priv-&gt;idle_notice = in_effect;</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='keyword'>else</span></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='macro'>gs_debug (<span class='string_literal'>"Idle notice signal not handled: %d"</span>, in_effect)<span class='macro_popup'>gs_debug_real (__func__, "gs-watcher-x11.c", 209, "Idle notice signal not handled: %d"<br>, in_effect)</span></span>;</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"> </td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line"> <span class='keyword'>return</span> res;</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"> </td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line">_gs_watcher_set_session_idle (GSWatcher *watcher,</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> gboolean is_idle)</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> gboolean res;</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"> res = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> <span class='keyword'>if</span> (is_idle != watcher-&gt;priv-&gt;idle)</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"> </td></tr>
+<tr class="codeline" data-linenumber="227"><td class="num" id="LN227">227</td><td class="line"> g_signal_emit (watcher, signals [IDLE_CHANGED], 0, is_idle, &amp;res);</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> <span class='keyword'>if</span> (res)</td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> <span class='macro'>gs_debug (<span class='string_literal'>"Changing idle state: %d"</span>, is_idle)<span class='macro_popup'>gs_debug_real (__func__, "gs-watcher-x11.c", 230, "Changing idle state: %d"<br>, is_idle)</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"> watcher-&gt;priv-&gt;idle = is_idle;</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'>else</span></td></tr>
+<tr class="codeline" data-linenumber="235"><td class="num" id="LN235">235</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> <span class='macro'>gs_debug (<span class='string_literal'>"Idle changed signal not handled: %d"</span>, is_idle)<span class='macro_popup'>gs_debug_real (__func__, "gs-watcher-x11.c", 236, "Idle changed signal not handled: %d"<br>, is_idle)</span></span>;</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"> }</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"> <span class='keyword'>return</span> res;</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">gboolean</td></tr>
+<tr class="codeline" data-linenumber="244"><td class="num" id="LN244">244</td><td class="line">gs_watcher_get_active (GSWatcher *watcher)</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"> gboolean active;</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='macro'>g_return_val_if_fail (GS_IS_WATCHER (watcher), FALSE)<span class='macro_popup'>do{ (void)0; }while (0)</span></span>;</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"> active = watcher-&gt;priv-&gt;active;</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="252"><td class="num" id="LN252">252</td><td class="line"> <span class='keyword'>return</span> active;</td></tr>
+<tr class="codeline" data-linenumber="253"><td class="num" id="LN253">253</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line">_gs_watcher_reset_state (GSWatcher *watcher)</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> watcher-&gt;priv-&gt;idle = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="259"><td class="num" id="LN259">259</td><td class="line"> watcher-&gt;priv-&gt;idle_notice = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="260"><td class="num" id="LN260">260</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line">_gs_watcher_set_active_internal (GSWatcher *watcher,</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line"> gboolean active)</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> <span class='keyword'>if</span> (active != watcher-&gt;priv-&gt;active)</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='comment'>/* reset state */</span></td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> _gs_watcher_reset_state (watcher);</td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="271"><td class="num" id="LN271">271</td><td class="line"> watcher-&gt;priv-&gt;active = active;</td></tr>
+<tr class="codeline" data-linenumber="272"><td class="num" id="LN272">272</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</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="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">gboolean</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line">gs_watcher_set_active (GSWatcher *watcher,</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> gboolean active)</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> <span class='macro'>g_return_val_if_fail (GS_IS_WATCHER (watcher), FALSE)<span class='macro_popup'>do{ (void)0; }while (0)</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"> <span class='macro'>gs_debug (<span class='string_literal'>"turning watcher: %s"</span>, active ? <span class='string_literal'>"ON"</span> : <span class='string_literal'>"OFF"</span>)<span class='macro_popup'>gs_debug_real (__func__, "gs-watcher-x11.c", 283, "turning watcher: %s"<br>, active ? "ON" : "OFF")</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"> <span class='keyword'>if</span> (watcher-&gt;priv-&gt;active == active)</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='macro'>gs_debug (<span class='string_literal'>"Idle detection is already %s"</span>,<span class='macro_popup'>gs_debug_real (__func__, "gs-watcher-x11.c", 288, "Idle detection is already %s"<br>, active ? "active" : "inactive")</span></span></td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> <span class='macro'>active ? <span class='string_literal'>"active"</span> : <span class='string_literal'>"inactive"</span>)<span class='macro_popup'>gs_debug_real (__func__, "gs-watcher-x11.c", 288, "Idle detection is already %s"<br>, active ? "active" : "inactive")</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</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="290"><td class="num" id="LN290">290</td><td class="line"> }</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> (! watcher-&gt;priv-&gt;enabled)</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='macro'>gs_debug (<span class='string_literal'>"Idle detection is disabled, cannot activate"</span>)<span class='macro_popup'>gs_debug_real (__func__, "gs-watcher-x11.c", 294, "Idle detection is disabled, cannot activate"<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="295"><td class="num" id="LN295">295</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="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"> </td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> <span class='keyword'>return</span> _gs_watcher_set_active_internal (watcher, active);</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">gboolean</td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line">gs_watcher_set_enabled (GSWatcher *watcher,</td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> gboolean enabled)</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> <span class='macro'>g_return_val_if_fail (GS_IS_WATCHER (watcher), FALSE)<span class='macro_popup'>do{ (void)0; }while (0)</span></span>;</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='keyword'>if</span> (watcher-&gt;priv-&gt;enabled != enabled)</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> gboolean is_active = gs_watcher_get_active (watcher);</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"> watcher-&gt;priv-&gt;enabled = enabled;</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'>/* if we are disabling the watcher and we are</span></td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='comment'>active shut it down */</span></td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> <span class='keyword'>if</span> (! enabled &amp;&amp; is_active)</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"> _gs_watcher_set_active_internal (watcher, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</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="322"><td class="num" id="LN322">322</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line">gboolean</td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line">gs_watcher_get_enabled (GSWatcher *watcher)</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"> gboolean enabled;</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="329"><td class="num" id="LN329">329</td><td class="line"> <span class='macro'>g_return_val_if_fail (GS_IS_WATCHER (watcher), FALSE)<span class='macro_popup'>do{ (void)0; }while (0)</span></span>;</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"> enabled = watcher-&gt;priv-&gt;enabled;</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"> <span class='keyword'>return</span> enabled;</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"> </td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line">on_idle_timeout (GSWatcher *watcher)</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"> gboolean res;</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"> res = _gs_watcher_set_session_idle (watcher, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</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"> _gs_watcher_set_session_idle_notice (watcher, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> <span class='comment'>/* try again if we failed i guess */</span></td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> <span class='keyword'>return</span> !res;</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'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line">set_status (GSWatcher *watcher,</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> guint status)</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> gboolean is_idle;</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="355"><td class="num" id="LN355">355</td><td class="line"> <span class='keyword'>if</span> (! watcher-&gt;priv-&gt;active)</td></tr>
+<tr class="codeline" data-linenumber="356"><td class="num" id="LN356">356</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> <span class='macro'>gs_debug (<span class='string_literal'>"GSWatcher: not active, ignoring status changes"</span>)<span class='macro_popup'>gs_debug_real (__func__, "gs-watcher-x11.c", 357, "GSWatcher: not active, ignoring status changes"<br>)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> <span class='keyword'>return</span>;</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> is_idle = (status == 3);</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> (!is_idle &amp;&amp; !watcher-&gt;priv-&gt;idle_notice)</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"> <span class='comment'>/* no change in idleness */</span></td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> <span class='keyword'>return</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"> </td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> <span class='keyword'>if</span> (is_idle)</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"> _gs_watcher_set_session_idle_notice (watcher, is_idle);</td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='comment'>/* queue an activation */</span></td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> <span class='keyword'>if</span> (watcher-&gt;priv-&gt;idle_id &gt; 0)</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"> g_source_remove (watcher-&gt;priv-&gt;idle_id);</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"> watcher-&gt;priv-&gt;idle_id = g_timeout_add (watcher-&gt;priv-&gt;delta_notice_timeout,</td></tr>
+<tr class="codeline" data-linenumber="378"><td class="num" id="LN378">378</td><td class="line"> (GSourceFunc)on_idle_timeout,</td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> watcher);</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"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> <span class='comment'>/* cancel notice too */</span></td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>if</span> (watcher-&gt;priv-&gt;idle_id &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_source_remove (watcher-&gt;priv-&gt;idle_id);</td></tr>
+<tr class="codeline" data-linenumber="387"><td class="num" id="LN387">387</td><td class="line"> watcher-&gt;priv-&gt;idle_id = 0;</td></tr>
+<tr class="codeline" data-linenumber="388"><td class="num" id="LN388">388</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="389"><td class="num" id="LN389">389</td><td class="line"> _gs_watcher_set_session_idle (watcher, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="390"><td class="num" id="LN390">390</td><td class="line"> _gs_watcher_set_session_idle_notice (watcher, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line">on_presence_status_changed (DBusGProxy *presence_proxy,</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> guint status,</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> GSWatcher *watcher)</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"> set_status (watcher, status);</td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="402"><td class="num" id="LN402">402</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="403"><td class="num" id="LN403">403</td><td class="line">on_presence_status_text_changed (DBusGProxy *presence_proxy,</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *status_text,</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> GSWatcher *watcher)</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"> set_status_text (watcher, status_text);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line">}</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"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line">connect_presence_watcher (GSWatcher *watcher)</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> DBusGConnection *bus;</td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> GError *error;</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> gboolean ret;</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"> ret = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</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"> error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> bus = dbus_g_bus_get (DBUS_BUS_SESSION, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> <span class='keyword'>if</span> (bus == <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"> g_warning (<span class='string_literal'>"Unable to get session bus: %s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="424"><td class="num" id="LN424">424</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="425"><td class="num" id="LN425">425</td><td class="line"> <span class='keyword'>goto</span> done;</td></tr>
+<tr class="codeline" data-linenumber="426"><td class="num" id="LN426">426</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="428"><td class="num" id="LN428">428</td><td class="line"> error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="429"><td class="num" id="LN429">429</td><td class="line"> watcher-&gt;priv-&gt;presence_proxy = dbus_g_proxy_new_for_name_owner (bus,</td></tr>
+<tr class="codeline" data-linenumber="430"><td class="num" id="LN430">430</td><td class="line"> <span class='string_literal'>"org.gnome.SessionManager"</span>,</td></tr>
+<tr class="codeline" data-linenumber="431"><td class="num" id="LN431">431</td><td class="line"> <span class='string_literal'>"/org/gnome/SessionManager/Presence"</span>,</td></tr>
+<tr class="codeline" data-linenumber="432"><td class="num" id="LN432">432</td><td class="line"> <span class='string_literal'>"org.gnome.SessionManager.Presence"</span>,</td></tr>
+<tr class="codeline" data-linenumber="433"><td class="num" id="LN433">433</td><td class="line"> &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="434"><td class="num" id="LN434">434</td><td class="line"> <span class='keyword'>if</span> (watcher-&gt;priv-&gt;presence_proxy != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="436"><td class="num" id="LN436">436</td><td class="line"> DBusGProxy *proxy;</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"> dbus_g_proxy_add_signal (watcher-&gt;priv-&gt;presence_proxy,</td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> <span class='string_literal'>"StatusChanged"</span>,</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> <span class='macro'>G_TYPE_UINT<span class='macro_popup'>((GType) ((7) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> <span class='macro'>G_TYPE_INVALID<span class='macro_popup'>((GType) ((0) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> dbus_g_proxy_connect_signal (watcher-&gt;priv-&gt;presence_proxy,</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> <span class='string_literal'>"StatusChanged"</span>,</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> <span class='macro'>G_CALLBACK (on_presence_status_changed)<span class='macro_popup'>((GCallback) (on_presence_status_changed))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> watcher,</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> dbus_g_proxy_add_signal (watcher-&gt;priv-&gt;presence_proxy,</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> <span class='string_literal'>"StatusTextChanged"</span>,</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> <span class='macro'>G_TYPE_INVALID<span class='macro_popup'>((GType) ((0) &lt;&lt; (2)))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> dbus_g_proxy_connect_signal (watcher-&gt;priv-&gt;presence_proxy,</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> <span class='string_literal'>"StatusTextChanged"</span>,</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='macro'>G_CALLBACK (on_presence_status_text_changed)<span class='macro_popup'>((GCallback) (on_presence_status_text_changed))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> watcher,</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</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"> proxy = dbus_g_proxy_new_from_proxy (watcher-&gt;priv-&gt;presence_proxy,</td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='string_literal'>"org.freedesktop.DBus.Properties"</span>,</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> <span class='string_literal'>"/org/gnome/SessionManager/Presence"</span>);</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> <span class='keyword'>if</span> (proxy != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</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"> guint status;</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *status_text;</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> GValue value = { 0, };</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> status = 0;</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> status_text = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</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"> error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> dbus_g_proxy_call (proxy,</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> <span class='string_literal'>"Get"</span>,</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> &amp;error,</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>, <span class='string_literal'>"org.gnome.SessionManager.Presence"</span>,</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>, <span class='string_literal'>"status"</span>,</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> <span class='macro'>G_TYPE_INVALID<span class='macro_popup'>((GType) ((0) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> <span class='macro'>G_TYPE_VALUE<span class='macro_popup'>(g_value_get_type ())</span></span>, &amp;value,</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='macro'>G_TYPE_INVALID<span class='macro_popup'>((GType) ((0) &lt;&lt; (2)))</span></span>);</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> (error != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> g_warning (<span class='string_literal'>"Couldn't get presence status: %s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="483"><td class="num" id="LN483">483</td><td class="line"> <span class='keyword'>goto</span> done;</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='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</td><td class="line"> status = g_value_get_uint (&amp;value);</td></tr>
+<tr class="codeline" data-linenumber="488"><td class="num" id="LN488">488</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"> g_value_unset (&amp;value);</td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> error = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line"> dbus_g_proxy_call (proxy,</td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> <span class='string_literal'>"Get"</span>,</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> &amp;error,</td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>, <span class='string_literal'>"org.gnome.SessionManager.Presence"</span>,</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> <span class='macro'>G_TYPE_STRING<span class='macro_popup'>((GType) ((16) &lt;&lt; (2)))</span></span>, <span class='string_literal'>"status-text"</span>,</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</td><td class="line"> <span class='macro'>G_TYPE_INVALID<span class='macro_popup'>((GType) ((0) &lt;&lt; (2)))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="499"><td class="num" id="LN499">499</td><td class="line"> <span class='macro'>G_TYPE_VALUE<span class='macro_popup'>(g_value_get_type ())</span></span>, &amp;value,</td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"> <span class='macro'>G_TYPE_INVALID<span class='macro_popup'>((GType) ((0) &lt;&lt; (2)))</span></span>);</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"> <span class='keyword'>if</span> (error != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"> g_warning (<span class='string_literal'>"Couldn't get presence status text: %s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="507"><td class="num" id="LN507">507</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="508"><td class="num" id="LN508">508</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> status_text = g_value_get_string (&amp;value);</td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> set_status (watcher, status);</td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> set_status_text (watcher, status_text);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="518"><td class="num" id="LN518">518</td><td class="line"> g_warning (<span class='string_literal'>"Failed to get session presence proxy: %s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="519"><td class="num" id="LN519">519</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> <span class='keyword'>goto</span> done;</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"> ret = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line">done:</td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> <span class='keyword'>return</span> ret;</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"> </td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="530"><td class="num" id="LN530">530</td><td class="line">gs_watcher_init (GSWatcher *watcher)</td></tr>
+<tr class="codeline" data-linenumber="531"><td class="num" id="LN531">531</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> watcher-&gt;priv = gs_watcher_get_instance_private (watcher);</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> watcher-&gt;priv-&gt;enabled = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> watcher-&gt;priv-&gt;active = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> connect_presence_watcher (watcher);</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="539"><td class="num" id="LN539">539</td><td class="line"> <span class='comment'>/* time before idle signal to send notice signal */</span></td></tr>
+<tr class="codeline" data-linenumber="540"><td class="num" id="LN540">540</td><td class="line"> watcher-&gt;priv-&gt;delta_notice_timeout = 10000;</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"> add_watchdog_timer (watcher, 600000);</td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line">gs_watcher_finalize (GObject *object)</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> GSWatcher *watcher;</td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="550"><td class="num" id="LN550">550</td><td class="line"> <span class='macro'>g_return_if_fail (object != NULL)<span class='macro_popup'>do{ (void)0; }while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="551"><td class="num" id="LN551">551</td><td class="line"> <span class='macro'>g_return_if_fail (GS_IS_WATCHER (object))<span class='macro_popup'>do{ (void)0; }while (0)</span></span>;</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"> watcher = <span class='macro'>GS_WATCHER (object)<span class='macro_popup'>((((GSWatcher*) g_type_check_instance_cast ((GTypeInstance*) (<br>(object)), ((gs_watcher_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line"> <span class='macro'>g_return_if_fail (watcher-&gt;priv != NULL)<span class='macro_popup'>do{ (void)0; }while (0)</span></span>;</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"> remove_watchdog_timer (watcher);</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"> <span class='keyword'>if</span> (watcher-&gt;priv-&gt;idle_id &gt; 0)</td></tr>
+<tr class="codeline" data-linenumber="560"><td class="num" id="LN560">560</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="561"><td class="num" id="LN561">561</td><td class="line"> g_source_remove (watcher-&gt;priv-&gt;idle_id);</td></tr>
+<tr class="codeline" data-linenumber="562"><td class="num" id="LN562">562</td><td class="line"> watcher-&gt;priv-&gt;idle_id = 0;</td></tr>
+<tr class="codeline" data-linenumber="563"><td class="num" id="LN563">563</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="564"><td class="num" id="LN564">564</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="565"><td class="num" id="LN565">565</td><td class="line"> watcher-&gt;priv-&gt;active = <span class='macro'>FALSE<span class='macro_popup'>(0)</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"> <span class='keyword'>if</span> (watcher-&gt;priv-&gt;presence_proxy != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="568"><td class="num" id="LN568">568</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="569"><td class="num" id="LN569">569</td><td class="line"> g_object_unref (watcher-&gt;priv-&gt;presence_proxy);</td></tr>
+<tr class="codeline" data-linenumber="570"><td class="num" id="LN570">570</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="571"><td class="num" id="LN571">571</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="572"><td class="num" id="LN572">572</td><td class="line"> g_free (watcher-&gt;priv-&gt;status_message);</td></tr>
+<tr class="codeline" data-linenumber="573"><td class="num" id="LN573">573</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="574"><td class="num" id="LN574">574</td><td class="line"> <span class='macro'>G_OBJECT_CLASS (gs_watcher_parent_class)<span class='macro_popup'>((((GObjectClass*) g_type_check_class_cast ((GTypeClass*) ((gs_watcher_parent_class<br>)), (((GType) ((20) &lt;&lt; (2))))))))</span></span>-&gt;finalize (object);</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='comment'>/* Figuring out what the appropriate XSetScreenSaver() parameters are</span></td></tr>
+<tr class="codeline" data-linenumber="578"><td class="num" id="LN578">578</td><td class="line"> <span class='comment'>(one wouldn't expect this to be rocket science.)</span></td></tr>
+<tr class="codeline" data-linenumber="579"><td class="num" id="LN579">579</td><td class="line"><span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="580"><td class="num" id="LN580">580</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>void</span></td></tr>
+<tr class="codeline" data-linenumber="581"><td class="num" id="LN581">581</td><td class="line">disable_builtin_screensaver (GSWatcher *watcher,</td></tr>
+<tr class="codeline" data-linenumber="582"><td class="num" id="LN582">582</td><td class="line"> gboolean unblank_screen)</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'>int</span> current_server_timeout, current_server_interval;</td></tr>
+<tr class="codeline" data-linenumber="585"><td class="num" id="LN585">585</td><td class="line"> <span class='keyword'>int</span> current_prefer_blank, current_allow_exp;</td></tr>
+<tr class="codeline" data-linenumber="586"><td class="num" id="LN586">586</td><td class="line"> <span class='keyword'>int</span> desired_server_timeout, desired_server_interval;</td></tr>
+<tr class="codeline" data-linenumber="587"><td class="num" id="LN587">587</td><td class="line"> <span class='keyword'>int</span> desired_prefer_blank, desired_allow_exp;</td></tr>
+<tr class="codeline" data-linenumber="588"><td class="num" id="LN588">588</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="589"><td class="num" id="LN589">589</td><td class="line"> XGetScreenSaver (<span class='macro'>GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())<span class='macro_popup'>(gdk_x11_display_get_xdisplay (gdk_display_get_default ()))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="590"><td class="num" id="LN590">590</td><td class="line"> &amp;current_server_timeout,</td></tr>
+<tr class="codeline" data-linenumber="591"><td class="num" id="LN591">591</td><td class="line"> &amp;current_server_interval,</td></tr>
+<tr class="codeline" data-linenumber="592"><td class="num" id="LN592">592</td><td class="line"> &amp;current_prefer_blank,</td></tr>
+<tr class="codeline" data-linenumber="593"><td class="num" id="LN593">593</td><td class="line"> &amp;current_allow_exp);</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"> desired_server_timeout = <span class="mrange">current_server_timeout</span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:9ex">Value stored to 'desired_server_timeout' is never read</div></td></tr>
+<tr class="codeline" data-linenumber="596"><td class="num" id="LN596">596</td><td class="line"> desired_server_interval = current_server_interval;</td></tr>
+<tr class="codeline" data-linenumber="597"><td class="num" id="LN597">597</td><td class="line"> desired_prefer_blank = current_prefer_blank;</td></tr>
+<tr class="codeline" data-linenumber="598"><td class="num" id="LN598">598</td><td class="line"> desired_allow_exp = current_allow_exp;</td></tr>
+<tr class="codeline" data-linenumber="599"><td class="num" id="LN599">599</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="600"><td class="num" id="LN600">600</td><td class="line"> desired_server_interval = 0;</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"> <span class='comment'>/* I suspect (but am not sure) that DontAllowExposures might have</span></td></tr>
+<tr class="codeline" data-linenumber="603"><td class="num" id="LN603">603</td><td class="line"> <span class='comment'>something to do with powering off the monitor as well, at least</span></td></tr>
+<tr class="codeline" data-linenumber="604"><td class="num" id="LN604">604</td><td class="line"> <span class='comment'>on some systems that don't support XDPMS? Who know... */</span></td></tr>
+<tr class="codeline" data-linenumber="605"><td class="num" id="LN605">605</td><td class="line"> desired_allow_exp = <span class='macro'>AllowExposures<span class='macro_popup'>1</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="606"><td class="num" id="LN606">606</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="607"><td class="num" id="LN607">607</td><td class="line"> <span class='comment'>/* When we're not using an extension, set the server-side timeout to 0,</span></td></tr>
+<tr class="codeline" data-linenumber="608"><td class="num" id="LN608">608</td><td class="line"> <span class='comment'>so that the server never gets involved with screen blanking, and we</span></td></tr>
+<tr class="codeline" data-linenumber="609"><td class="num" id="LN609">609</td><td class="line"> <span class='comment'>do it all ourselves. (However, when we *are* using an extension,</span></td></tr>
+<tr class="codeline" data-linenumber="610"><td class="num" id="LN610">610</td><td class="line"> <span class='comment'>we tell the server when to notify us, and rather than blanking the</span></td></tr>
+<tr class="codeline" data-linenumber="611"><td class="num" id="LN611">611</td><td class="line"> <span class='comment'>screen, the server will send us an X event telling us to blank.)</span></td></tr>
+<tr class="codeline" data-linenumber="612"><td class="num" id="LN612">612</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="613"><td class="num" id="LN613">613</td><td class="line"> desired_server_timeout = 0;</td></tr>
+<tr class="codeline" data-linenumber="614"><td class="num" id="LN614">614</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="615"><td class="num" id="LN615">615</td><td class="line"> <span class='keyword'>if</span> (desired_server_timeout != current_server_timeout</td></tr>
+<tr class="codeline" data-linenumber="616"><td class="num" id="LN616">616</td><td class="line"> || desired_server_interval != current_server_interval</td></tr>
+<tr class="codeline" data-linenumber="617"><td class="num" id="LN617">617</td><td class="line"> || desired_prefer_blank != current_prefer_blank</td></tr>
+<tr class="codeline" data-linenumber="618"><td class="num" id="LN618">618</td><td class="line"> || desired_allow_exp != current_allow_exp)</td></tr>
+<tr class="codeline" data-linenumber="619"><td class="num" id="LN619">619</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="620"><td class="num" id="LN620">620</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="621"><td class="num" id="LN621">621</td><td class="line"> <span class='macro'>gs_debug (<span class='string_literal'>"disabling server builtin screensaver:"<span class='macro_popup'>gs_debug_real (__func__, "gs-watcher-x11.c", 626, "disabling server builtin screensaver:"<br> " (xset s %d %d; xset s %s; xset s %s)", desired_server_timeout<br>, desired_server_interval, (desired_prefer_blank ? "blank" : "noblank"<br>), (desired_allow_exp ? "expose" : "noexpose"))</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="622"><td class="num" id="LN622">622</td><td class="line"> <span class='string_literal'><span class='macro'>" (xset s %d %d; xset s %s; xset s %s)"</span>,<span class='macro_popup'>gs_debug_real (__func__, "gs-watcher-x11.c", 626, "disabling server builtin screensaver:"<br> " (xset s %d %d; xset s %s; xset s %s)", desired_server_timeout<br>, desired_server_interval, (desired_prefer_blank ? "blank" : "noblank"<br>), (desired_allow_exp ? "expose" : "noexpose"))</span></span></td></tr>
+<tr class="codeline" data-linenumber="623"><td class="num" id="LN623">623</td><td class="line"> <span class='macro'>desired_server_timeout,<span class='macro_popup'>gs_debug_real (__func__, "gs-watcher-x11.c", 626, "disabling server builtin screensaver:"<br> " (xset s %d %d; xset s %s; xset s %s)", desired_server_timeout<br>, desired_server_interval, (desired_prefer_blank ? "blank" : "noblank"<br>), (desired_allow_exp ? "expose" : "noexpose"))</span></span></td></tr>
+<tr class="codeline" data-linenumber="624"><td class="num" id="LN624">624</td><td class="line"> <span class='macro'>desired_server_interval,<span class='macro_popup'>gs_debug_real (__func__, "gs-watcher-x11.c", 626, "disabling server builtin screensaver:"<br> " (xset s %d %d; xset s %s; xset s %s)", desired_server_timeout<br>, desired_server_interval, (desired_prefer_blank ? "blank" : "noblank"<br>), (desired_allow_exp ? "expose" : "noexpose"))</span></span></td></tr>
+<tr class="codeline" data-linenumber="625"><td class="num" id="LN625">625</td><td class="line"> <span class='macro'>(desired_prefer_blank ? <span class='string_literal'>"blank"</span> : <span class='string_literal'>"noblank"</span>),<span class='macro_popup'>gs_debug_real (__func__, "gs-watcher-x11.c", 626, "disabling server builtin screensaver:"<br> " (xset s %d %d; xset s %s; xset s %s)", desired_server_timeout<br>, desired_server_interval, (desired_prefer_blank ? "blank" : "noblank"<br>), (desired_allow_exp ? "expose" : "noexpose"))</span></span></td></tr>
+<tr class="codeline" data-linenumber="626"><td class="num" id="LN626">626</td><td class="line"> <span class='macro'>(desired_allow_exp ? <span class='string_literal'>"expose"</span> : <span class='string_literal'>"noexpose"</span>))<span class='macro_popup'>gs_debug_real (__func__, "gs-watcher-x11.c", 626, "disabling server builtin screensaver:"<br> " (xset s %d %d; xset s %s; xset s %s)", desired_server_timeout<br>, desired_server_interval, (desired_prefer_blank ? "blank" : "noblank"<br>), (desired_allow_exp ? "expose" : "noexpose"))</span></span>;</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"> XSetScreenSaver (<span class='macro'>GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())<span class='macro_popup'>(gdk_x11_display_get_xdisplay (gdk_display_get_default ()))</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="629"><td class="num" id="LN629">629</td><td class="line"> desired_server_timeout,</td></tr>
+<tr class="codeline" data-linenumber="630"><td class="num" id="LN630">630</td><td class="line"> desired_server_interval,</td></tr>
+<tr class="codeline" data-linenumber="631"><td class="num" id="LN631">631</td><td class="line"> desired_prefer_blank,</td></tr>
+<tr class="codeline" data-linenumber="632"><td class="num" id="LN632">632</td><td class="line"> desired_allow_exp);</td></tr>
+<tr class="codeline" data-linenumber="633"><td class="num" id="LN633">633</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="634"><td class="num" id="LN634">634</td><td class="line"> XSync (<span class='macro'>GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())<span class='macro_popup'>(gdk_x11_display_get_xdisplay (gdk_display_get_default ()))</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="635"><td class="num" id="LN635">635</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="636"><td class="num" id="LN636">636</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="637"><td class="num" id="LN637">637</td><td class="line"> <span class='keyword'>if</span> (unblank_screen)</td></tr>
+<tr class="codeline" data-linenumber="638"><td class="num" id="LN638">638</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="639"><td class="num" id="LN639">639</td><td class="line"> <span class='comment'>/* Turn off the server builtin saver if it is now running. */</span></td></tr>
+<tr class="codeline" data-linenumber="640"><td class="num" id="LN640">640</td><td class="line"> XForceScreenSaver (<span class='macro'>GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())<span class='macro_popup'>(gdk_x11_display_get_xdisplay (gdk_display_get_default ()))</span></span>, <span class='macro'>ScreenSaverReset<span class='macro_popup'>0</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="641"><td class="num" id="LN641">641</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="642"><td class="num" id="LN642">642</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="643"><td class="num" id="LN643">643</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="644"><td class="num" id="LN644">644</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="645"><td class="num" id="LN645">645</td><td class="line"><span class='comment'>/* This timer goes off every few minutes, whether the user is idle or not,</span></td></tr>
+<tr class="codeline" data-linenumber="646"><td class="num" id="LN646">646</td><td class="line"> <span class='comment'>to try and clean up anything that has gone wrong.</span></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='comment'>It calls disable_builtin_screensaver() so that if xset has been used,</span></td></tr>
+<tr class="codeline" data-linenumber="649"><td class="num" id="LN649">649</td><td class="line"> <span class='comment'>or some other program (like xlock) has messed with the XSetScreenSaver()</span></td></tr>
+<tr class="codeline" data-linenumber="650"><td class="num" id="LN650">650</td><td class="line"> <span class='comment'>settings, they will be set back to sensible values (if a server extension</span></td></tr>
+<tr class="codeline" data-linenumber="651"><td class="num" id="LN651">651</td><td class="line"> <span class='comment'>is in use, messing with xlock can cause the screensaver to never get a wakeup</span></td></tr>
+<tr class="codeline" data-linenumber="652"><td class="num" id="LN652">652</td><td class="line"> <span class='comment'>event, and could cause monitor power-saving to occur, and all manner of</span></td></tr>
+<tr class="codeline" data-linenumber="653"><td class="num" id="LN653">653</td><td class="line"> <span class='comment'>heinousness.)</span></td></tr>
+<tr class="codeline" data-linenumber="654"><td class="num" id="LN654">654</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="655"><td class="num" id="LN655">655</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="656"><td class="num" id="LN656">656</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="657"><td class="num" id="LN657">657</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="658"><td class="num" id="LN658">658</td><td class="line">watchdog_timer (GSWatcher *watcher)</td></tr>
+<tr class="codeline" data-linenumber="659"><td class="num" id="LN659">659</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="660"><td class="num" id="LN660">660</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="661"><td class="num" id="LN661">661</td><td class="line"> disable_builtin_screensaver (watcher, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</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"> <span class='keyword'>return</span> <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</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"> </td></tr>
+<tr class="codeline" data-linenumber="666"><td class="num" id="LN666">666</td><td class="line">GSWatcher *</td></tr>
+<tr class="codeline" data-linenumber="667"><td class="num" id="LN667">667</td><td class="line">gs_watcher_new (<span class='keyword'>void</span>)</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"> GSWatcher *watcher;</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"> watcher = g_object_new (<span class='macro'>GS_TYPE_WATCHER<span class='macro_popup'>(gs_watcher_get_type ())</span></span>,</td></tr>
+<tr class="codeline" data-linenumber="672"><td class="num" id="LN672">672</td><td class="line"> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="673"><td class="num" id="LN673">673</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="674"><td class="num" id="LN674">674</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>GS_WATCHER (watcher)<span class='macro_popup'>((((GSWatcher*) g_type_check_instance_cast ((GTypeInstance*) (<br>(watcher)), ((gs_watcher_get_type ()))))))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="675"><td class="num" id="LN675">675</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/[email protected]_master/report-0b5f8a.html b/[email protected]_master/report-0b5f8a.html
new file mode 100644
index 0000000..92fc397
--- /dev/null
+++ b/[email protected]_master/report-0b5f8a.html
@@ -0,0 +1,531 @@
+<!doctype html>
+<html>
+<head>
+<title>xdg-user-dir-lookup.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 (accessed memory precedes memory block) -->
+
+<!-- BUGTYPE Out-of-bound access -->
+
+<!-- BUGCATEGORY Logic error -->
+
+<!-- BUGFILE /rootdir/savers/xdg-user-dir-lookup.c -->
+
+<!-- FILENAME xdg-user-dir-lookup.c -->
+
+<!-- FUNCTIONNAME xdg_user_dir_lookup -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 2084b32c38f88953c95279e3b2b4ace6 -->
+
+<!-- BUGLINE 91 -->
+
+<!-- BUGCOLUMN 10 -->
+
+<!-- BUGPATHLENGTH 17 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>avers/xdg-user-dir-lookup.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 91, column 10</a><br />Out of bound memory access (accessed memory precedes 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 xdg-user-dir-lookup.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=all -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/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/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 LIBEXECDIR="/usr/local/libexec" -D MATELOCALEDIR="/usr/local/share/locale" -D DATADIR="/usr/local/share" -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/savers -ferror-limit 19 -fmessage-length 0 -fgnuc-version=4.2.1 -fobjc-runtime=gcc -fdiagnostics-show-option -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-20-162434-6530-1 -x c xdg-user-dir-lookup.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": {"34": 1, "35": 1, "36": 1, "37": 1, "38": 1, "39": 1, "40": 1, "41": 1, "42": 1, "43": 1, "45": 1, "47": 1, "50": 1, "51": 1, "53": 1, "54": 1, "55": 1, "64": 1, "65": 1, "66": 1, "69": 1, "70": 1, "73": 1, "74": 1, "77": 1, "78": 1, "81": 1, "83": 1, "84": 1, "86": 1, "87": 1, "89": 1, "91": 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'>This file is not licenced under the GPL like the rest of the code.</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>Its is under the MIT license, to encourage reuse by cut-and-paste.</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>Copyright (c) 2007 Red Hat, inc</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>Permission is hereby granted, free of charge, to any person</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>obtaining a copy of this software and associated documentation files</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>(the "Software"), to deal in the Software without restriction,</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>including without limitation the rights to use, copy, modify, merge,</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>publish, distribute, sublicense, and/or sell copies of the Software,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>and to permit persons to whom the Software is furnished to do so,</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>subject to the following conditions:</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>The above copyright notice and this permission notice shall be</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>included in all copies or substantial portions of the Software.</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='comment'>SOFTWARE.</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;stdio.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;stdlib.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;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include "xdg-user-dir-lookup.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='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line">xdg_user_dir_lookup (<span class='keyword'>const</span> <span class='keyword'>char</span> *type)</td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> FILE *file;</td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> <span class='keyword'>char</span> *home_dir, *config_home, *config_file;</td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"> <span class='keyword'>char</span> buffer[512];</td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> <span class='keyword'>char</span> *user_dir;</td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"> <span class='keyword'>char</span> *p, *d;</td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"> <span class='keyword'>int</span> len;</td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"> <span class='keyword'>int</span> relative;</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"> home_dir = getenv (<span class='string_literal'>"HOME"</span>);</td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> <span class='keyword'>if</span> (<span class="mrange">home_dir == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path1" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">1</div></td><td>Assuming 'home_dir' is not equal to 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:9ex"><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 false branch</td><td><div class="PathNav"><a href="#Path3" title="Next event (3)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> <span class='keyword'>return</span> strdup (<span class='string_literal'>"/tmp"</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"> config_home = getenv (<span class='string_literal'>"XDG_CONFIG_HOME"</span>);</td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> <span class='keyword'>if</span> (<span class="mrange">config_home == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span> || config_home[0] == 0)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path3" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">3</div></td><td><div class="PathNav"><a href="#Path2" title="Previous event (2)">&#x2190;</a></div></td><td>Assuming 'config_home' is equal to NULL</td><td><div class="PathNav"><a href="#Path4" title="Next event (4)">&#x2192;</a></div></td></tr></table></div></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"> config_file = malloc (strlen (home_dir) + strlen (<span class='string_literal'>"/.config/user-dirs.dirs"</span>) + 1);</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> strcpy (config_file, home_dir);</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> strcat (config_file, <span class='string_literal'>"/.config/user-dirs.dirs"</span>);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> <span class='keyword'>else</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"> config_file = malloc (strlen (config_home) + strlen (<span class='string_literal'>"/user-dirs.dirs"</span>) + 1);</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> strcpy (config_file, config_home);</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> strcat (config_file, <span class='string_literal'>"/user-dirs.dirs"</span>);</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"> </td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> file = fopen (config_file, <span class='string_literal'>"r"</span>);</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> free (config_file);</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> <span class='keyword'>if</span> (<span class="mrange">file == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path4" class="msg msgEvent" style="margin-left:13ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">4</div></td><td><div class="PathNav"><a href="#Path3" title="Previous event (3)">&#x2190;</a></div></td><td>Assuming 'file' is not equal to NULL</td><td><div class="PathNav"><a href="#Path5" title="Next event (5)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path5" class="msg msgControl" style="margin-left:9ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">5</div></td><td><div class="PathNav"><a href="#Path4" title="Previous event (4)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path6" title="Next event (6)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> <span class='keyword'>goto</span> error;</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> user_dir = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> <span class='keyword'>while</span> (fgets (buffer, <span class='keyword'>sizeof</span> (buffer), file))</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path6" class="msg msgControl" style="margin-left:9ex"><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>Loop condition is true. Entering loop body</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="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"> <span class='comment'>/* Remove newline at end */</span></td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> len = strlen (buffer);</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> <span class='keyword'>if</span> (<span class="mrange">len &gt; 0</span> &amp;&amp; buffer[len-1] == '\n')</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path7" class="msg msgEvent" style="margin-left:21ex"><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>Assuming 'len' is &lt;= 0</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="75"><td class="num" id="LN75">75</td><td class="line"> buffer[len-1] = 0;</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> p = buffer;</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> <span class='keyword'>while</span> (<span class="mrange">*p == ' ' || <span class="mrange">*p == '</span>\t')</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path8" class="msg msgEvent" style="margin-left:24ex"><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 the condition is false</td><td><div class="PathNav"><a href="#Path9" title="Next event (9)">&#x2192;</a></div></td></tr></table></div></td></tr></span>
+<tr><td class="num"></td><td class="line"><div id="Path9" class="msg msgEvent" style="margin-left:37ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">9</div></td><td><div class="PathNav"><a href="#Path8" title="Previous event (8)">&#x2190;</a></div></td><td>Assuming the condition is false</td><td><div class="PathNav"><a href="#Path10" title="Next event (10)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path10" class="msg msgControl" style="margin-left:17ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">10</div></td><td><div class="PathNav"><a href="#Path9" title="Previous event (9)">&#x2190;</a></div></td><td>Loop condition is false. Execution continues on line 81</td><td><div class="PathNav"><a href="#Path11" title="Next event (11)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> p++;</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"> <span class='keyword'>if</span> (<span class="mrange">strncmp (p, <span class='string_literal'>"XDG_"</span>, 4) != 0</span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path11" class="msg msgEvent" style="margin-left:21ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">11</div></td><td><div class="PathNav"><a href="#Path10" title="Previous event (10)">&#x2190;</a></div></td><td>Assuming the condition is false</td><td><div class="PathNav"><a href="#Path12" title="Next event (12)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path12" class="msg msgControl" style="margin-left:17ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">12</div></td><td><div class="PathNav"><a href="#Path11" title="Previous event (11)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path13" title="Next event (13)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> p += 4;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> <span class='keyword'>if</span> (<span class="mrange">strncmp (p, type, strlen (type)) != 0</span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path13" class="msg msgEvent" style="margin-left:21ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">13</div></td><td><div class="PathNav"><a href="#Path12" title="Previous event (12)">&#x2190;</a></div></td><td>Assuming the condition is false</td><td><div class="PathNav"><a href="#Path14" title="Next event (14)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path14" class="msg msgControl" style="margin-left:17ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">14</div></td><td><div class="PathNav"><a href="#Path13" title="Previous event (13)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#Path15" title="Next event (15)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> p += strlen (type);</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> <span class='keyword'>if</span> (<span class="mrange">strncmp (p, <span class='string_literal'>"_DIR"</span>, 4) != 0</span>)</td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path15" class="msg msgEvent" style="margin-left:21ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">15</div></td><td><div class="PathNav"><a href="#Path14" title="Previous event (14)">&#x2190;</a></div></td><td>Assuming the condition is false</td><td><div class="PathNav"><a href="#Path16" title="Next event (16)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr><td class="num"></td><td class="line"><div id="Path16" class="msg msgControl" style="margin-left:17ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexControl">16</div></td><td><div class="PathNav"><a href="#Path15" title="Previous event (15)">&#x2190;</a></div></td><td>Taking false branch</td><td><div class="PathNav"><a href="#EndPath" title="Next event (17)">&#x2192;</a></div></td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> p += 4;</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>while</span> (<span class="mrange">*p</span> == ' ' || *p == '\t')</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:24ex"><table class="msgT"><tr><td valign="top"><div class="PathIndex PathIndexEvent">17</div></td><td><div class="PathNav"><a href="#Path16" title="Previous event (16)">&#x2190;</a></div></td><td>Out of bound memory access (accessed memory precedes memory block)</td></tr></table></div></td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> p++;</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> <span class='keyword'>if</span> (*p != '=')</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> p++;</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>while</span> (*p == ' ' || *p == '\t')</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> p++;</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (*p != '"')</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> p++;</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"> relative = 0;</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>if</span> (strncmp (p, <span class='string_literal'>"$HOME/"</span>, 6) == 0)</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"> p += 6;</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> relative = 1;</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'>else</span> <span class='keyword'>if</span> (*p != '/')</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>continue</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> (relative)</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"> user_dir = malloc (strlen (home_dir) + 1 + strlen (p) + 1);</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> strcpy (user_dir, home_dir);</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> strcat (user_dir, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>else</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"> user_dir = malloc (strlen (p) + 1);</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> *user_dir = 0;</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> }</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"> d = user_dir + strlen (user_dir);</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> <span class='keyword'>while</span> (*p &amp;&amp; *p != '"')</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>if</span> ((*p == '\\') &amp;&amp; (*(p+1) != 0))</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> p++;</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> *d++ = *p++;</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"> *d = 0;</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"> fclose (file);</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='keyword'>if</span> (user_dir)</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> <span class='keyword'>return</span> user_dir;</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">error:</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='comment'>/* Special case desktop for historical compatibility */</span></td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='keyword'>if</span> (strcmp (type, <span class='string_literal'>"DESKTOP"</span>) == 0)</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"> user_dir = malloc (strlen (home_dir) + strlen (<span class='string_literal'>"/Desktop"</span>) + 1);</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> strcpy (user_dir, home_dir);</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> strcat (user_dir, <span class='string_literal'>"/Desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> <span class='keyword'>return</span> user_dir;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='keyword'>return</span> strdup (home_dir);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line">}</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"><span class='directive'>#ifdef STANDALONE</span></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='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line">main (<span class='keyword'>int</span> argc, <span class='keyword'>char</span> *argv[])</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'>if</span> (argc != 2)</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"> fprintf (<span class='macro'>stderr<span class='macro_popup'>stderr</span></span>, <span class='string_literal'>"Usage %s &lt;dir-type&gt;\n"</span>, argv[0]);</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> exit (1);</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> }</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"> printf (<span class='string_literal'>"%s\n"</span>, xdg_user_dir_lookup (argv[1]));</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='directive'>#endif</span></td></tr>
+</table></body></html>
diff --git a/[email protected]_master/report-0b6bb6.html b/[email protected]_master/report-0b6bb6.html
new file mode 100644
index 0000000..378f9f2
--- /dev/null
+++ b/[email protected]_master/report-0b6bb6.html
@@ -0,0 +1,902 @@
+<!doctype html>
+<html>
+<head>
+<title>mate-screensaver-command.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 'reply' is never read -->
+
+<!-- BUGTYPE Dead assignment -->
+
+<!-- BUGCATEGORY Dead store -->
+
+<!-- BUGFILE /rootdir/src/mate-screensaver-command.c -->
+
+<!-- FILENAME mate-screensaver-command.c -->
+
+<!-- FUNCTIONNAME do_command -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT b0e322476af4ebeeeec8202bb87fd0cc -->
+
+<!-- BUGLINE 444 -->
+
+<!-- BUGCOLUMN 3 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>rc/mate-screensaver-command.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 444, column 3</a><br />Value stored to 'reply' 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 mate-screensaver-command.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=all -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 . -D MATEMENU_I_KNOW_THIS_IS_UNSTABLE -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/mate-desktop-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -I /usr/include/mate-menus -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/include/mate-desktop-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -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/include/mate-desktop-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -I /usr/include/mate-menus -D PREFIX="/usr/local" -D BINDIR="/usr/local/bin" -D LIBDIR="/usr/local/lib" -D LIBEXECDIR="/usr/local/libexec" -D DATADIR="/usr/local/share" -D SYSCONFDIR="/usr/local/etc" -D MATELOCALEDIR="/usr/local/share/locale" -D SAVERDIR="/usr/local/libexec/mate-screensaver" -D THEMESDIR="/usr/local/share/mate-screensaver/themes" -D GTKBUILDERDIR="/usr/local/share/mate-screensaver" -D PAM_SERVICE_NAME="mate-screensaver" -D G_DISABLE_ASSERT -D G_DISABLE_CHECKS -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libxml2 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/src -ferror-limit 19 -fmessage-length 0 -fgnuc-version=4.2.1 -fobjc-runtime=gcc -fdiagnostics-show-option -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-20-162434-6530-1 -x c mate-screensaver-command.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": {"444": 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'>/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-</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'>* Copyright (C) 2004-2006 William Jon McCann &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* This program is free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public License as</span></td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>* published by the Free Software Foundation; either version 2 of the</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>* License, or (at your option) any later version.</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* This program is distributed in the hope that it will be useful, but</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</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="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>* General Public License for more details.</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</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="16"><td class="num" id="LN16">16</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="17"><td class="num" id="LN17">17</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span></td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>* 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'>* Authors: William Jon McCann &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"><span class='directive'>#include "config.h"</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;stdlib.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;locale.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;glib.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;glib/gi18n.h&gt;</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 DBUS_API_SUBJECT_TO_CHANGE</span></td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;dbus/dbus.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;dbus/dbus-glib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;dbus/dbus-glib-lowlevel.h&gt;</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'>GS_SERVICE<span class='macro_popup'>"org.mate.ScreenSaver"</span></span> "org.mate.ScreenSaver"</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'>GS_PATH<span class='macro_popup'>"/org/mate/ScreenSaver"</span></span> "/org/mate/ScreenSaver"</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'>GS_INTERFACE<span class='macro_popup'>"org.mate.ScreenSaver"</span></span> "org.mate.ScreenSaver"</span></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"><span class='keyword'>static</span> gboolean do_quit = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"><span class='keyword'>static</span> gboolean do_lock = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"><span class='keyword'>static</span> gboolean do_unlock = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='keyword'>static</span> gboolean do_cycle = <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"><span class='keyword'>static</span> gboolean do_activate = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='keyword'>static</span> gboolean do_deactivate = <span class='macro'>FALSE<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'>static</span> gboolean do_version = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='keyword'>static</span> gboolean do_poke = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"><span class='keyword'>static</span> gboolean do_inhibit = <span class='macro'>FALSE<span class='macro_popup'>(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"><span class='keyword'>static</span> gboolean do_query = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='keyword'>static</span> gboolean do_time = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</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'>char</span> *inhibit_reason = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> *inhibit_application = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='keyword'>static</span> GOptionEntry entries [] =</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"> {</td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"> <span class='string_literal'>"exit"</span>, 0, 0, G_OPTION_ARG_NONE, &amp;do_quit,</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"Causes the screensaver to exit gracefully"</span>)<span class='macro_popup'>("Causes the screensaver to exit gracefully")</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> },</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='string_literal'>"query"</span>, 'q', 0, G_OPTION_ARG_NONE, &amp;do_query,</td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"Query the state of the screensaver"</span>)<span class='macro_popup'>("Query the state of the screensaver")</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></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"> {</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> <span class='string_literal'>"time"</span>, 't', 0, G_OPTION_ARG_NONE, &amp;do_time,</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"Query the length of time the screensaver has been active"</span>)<span class='macro_popup'>("Query the length of time the screensaver has been active")</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='string_literal'>"lock"</span>, 'l', 0, G_OPTION_ARG_NONE, &amp;do_lock,</td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"Tells the running screensaver process to lock the screen immediately"</span>)<span class='macro_popup'>("Tells the running screensaver process to lock the screen immediately"<br>)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> <span class='string_literal'>"unlock"</span>, 'u', 0, G_OPTION_ARG_NONE, &amp;do_unlock,</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"Tells the running screensaver process to unlock the screen immediately"</span>)<span class='macro_popup'>("Tells the running screensaver process to unlock the screen immediately"<br>)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></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"> {</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> <span class='string_literal'>"cycle"</span>, 'c', 0, G_OPTION_ARG_NONE, &amp;do_cycle,</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"If the screensaver is active then switch to another graphics demo"</span>)<span class='macro_popup'>("If the screensaver is active then switch to another graphics demo"<br>)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> <span class='string_literal'>"activate"</span>, 'a', 0, G_OPTION_ARG_NONE, &amp;do_activate,</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"Turn the screensaver on (blank the screen)"</span>)<span class='macro_popup'>("Turn the screensaver on (blank the screen)")</span></span>, <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"> },</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> <span class='string_literal'>"deactivate"</span>, 'd', 0, G_OPTION_ARG_NONE, &amp;do_deactivate,</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"If the screensaver is active then deactivate it (un-blank the screen)"</span>)<span class='macro_popup'>("If the screensaver is active then deactivate it (un-blank the screen)"<br>)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='string_literal'>"poke"</span>, 'p', 0, G_OPTION_ARG_NONE, &amp;do_poke,</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"Poke the running screensaver to simulate user activity"</span>)<span class='macro_popup'>("Poke the running screensaver to simulate user activity")</span></span>, <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"> },</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> <span class='string_literal'>"inhibit"</span>, 'i', 0, G_OPTION_ARG_NONE, &amp;do_inhibit,</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"Inhibit the screensaver from activating. Command blocks while inhibit is active."</span>)<span class='macro_popup'>("Inhibit the screensaver from activating. Command blocks while inhibit is active."<br>)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> <span class='string_literal'>"application-name"</span>, 'n', 0, G_OPTION_ARG_STRING, &amp;inhibit_application,</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"The calling application that is inhibiting the screensaver"</span>)<span class='macro_popup'>("The calling application that is inhibiting the screensaver"<br>)</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> },</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"> <span class='string_literal'>"reason"</span>, 'r', 0, G_OPTION_ARG_STRING, &amp;inhibit_reason,</td></tr>
+<tr class="codeline" data-linenumber="104"><td class="num" id="LN104">104</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"The reason for inhibiting the screensaver"</span>)<span class='macro_popup'>("The reason for inhibiting the screensaver")</span></span>, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span></td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line"> },</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="107"><td class="num" id="LN107">107</td><td class="line"> <span class='string_literal'>"version"</span>, 'V', 0, G_OPTION_ARG_NONE, &amp;do_version,</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> <span class='macro'>N_(<span class='string_literal'>"Version of this application"</span>)<span class='macro_popup'>("Version of this application")</span></span>, <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"> },</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> { <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> }</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"> </td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"><span class='keyword'>static</span> GMainLoop *loop = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="115"><td class="num" id="LN115">115</td><td class="line"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="116"><td class="num" id="LN116">116</td><td class="line">screensaver_is_running (DBusConnection *connection)</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> DBusError error;</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> gboolean exists;</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="121"><td class="num" id="LN121">121</td><td class="line"> <span class='macro'>g_return_val_if_fail (connection != NULL, FALSE)<span class='macro_popup'>do{ (void)0; }while (0)</span></span>;</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"> dbus_error_init (&amp;error);</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> exists = dbus_bus_name_has_owner (connection, <span class='macro'>GS_SERVICE<span class='macro_popup'>"org.mate.ScreenSaver"</span></span>, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>if</span> (dbus_error_is_set (&amp;error))</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line"> dbus_error_free (&amp;error);</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> <span class='keyword'>return</span> exists;</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"><span class='keyword'>static</span> DBusMessage *</td></tr>
+<tr class="codeline" data-linenumber="132"><td class="num" id="LN132">132</td><td class="line">screensaver_send_message_inhibit (DBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="133"><td class="num" id="LN133">133</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *application,</td></tr>
+<tr class="codeline" data-linenumber="134"><td class="num" id="LN134">134</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *reason)</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"> DBusMessage *message;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> DBusMessage *reply;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> DBusError error;</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> DBusMessageIter iter;</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"> <span class='macro'>g_return_val_if_fail (connection != NULL, NULL)<span class='macro_popup'>do{ (void)0; }while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> dbus_error_init (&amp;error);</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"> message = dbus_message_new_method_call (<span class='macro'>GS_SERVICE<span class='macro_popup'>"org.mate.ScreenSaver"</span></span>, <span class='macro'>GS_PATH<span class='macro_popup'>"/org/mate/ScreenSaver"</span></span>, <span class='macro'>GS_INTERFACE<span class='macro_popup'>"org.mate.ScreenSaver"</span></span>, <span class='string_literal'>"Inhibit"</span>);</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> <span class='keyword'>if</span> (message == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</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"> g_warning (<span class='string_literal'>"Couldn't allocate the dbus message"</span>);</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="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"> </td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> dbus_message_iter_init_append (message, &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="153"><td class="num" id="LN153">153</td><td class="line"> dbus_message_iter_append_basic (&amp;iter, <span class='macro'>DBUS_TYPE_STRING<span class='macro_popup'>((int) 's')</span></span>, &amp;application);</td></tr>
+<tr class="codeline" data-linenumber="154"><td class="num" id="LN154">154</td><td class="line"> dbus_message_iter_append_basic (&amp;iter, <span class='macro'>DBUS_TYPE_STRING<span class='macro_popup'>((int) 's')</span></span>, &amp;reason);</td></tr>
+<tr class="codeline" data-linenumber="155"><td class="num" id="LN155">155</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line"> reply = dbus_connection_send_with_reply_and_block (connection,</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> message,</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> -1, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> <span class='keyword'>if</span> (dbus_error_is_set (&amp;error))</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"> g_warning (<span class='string_literal'>"%s raised:\n %s\n\n"</span>, error.name, error.message);</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> reply = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</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"> </td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> dbus_connection_flush (connection);</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"> dbus_message_unref (message);</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> dbus_error_free (&amp;error);</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> <span class='keyword'>return</span> reply;</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"> </td></tr>
+<tr class="codeline" data-linenumber="173"><td class="num" id="LN173">173</td><td class="line"><span class='keyword'>static</span> DBusMessage *</td></tr>
+<tr class="codeline" data-linenumber="174"><td class="num" id="LN174">174</td><td class="line">screensaver_send_message_bool (DBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="175"><td class="num" id="LN175">175</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name,</td></tr>
+<tr class="codeline" data-linenumber="176"><td class="num" id="LN176">176</td><td class="line"> gboolean value)</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"> DBusMessage *message;</td></tr>
+<tr class="codeline" data-linenumber="179"><td class="num" id="LN179">179</td><td class="line"> DBusMessage *reply;</td></tr>
+<tr class="codeline" data-linenumber="180"><td class="num" id="LN180">180</td><td class="line"> DBusError error;</td></tr>
+<tr class="codeline" data-linenumber="181"><td class="num" id="LN181">181</td><td class="line"> DBusMessageIter iter;</td></tr>
+<tr class="codeline" data-linenumber="182"><td class="num" id="LN182">182</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="183"><td class="num" id="LN183">183</td><td class="line"> <span class='macro'>g_return_val_if_fail (connection != NULL, NULL)<span class='macro_popup'>do{ (void)0; }while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="184"><td class="num" id="LN184">184</td><td class="line"> <span class='macro'>g_return_val_if_fail (name != NULL, NULL)<span class='macro_popup'>do{ (void)0; }while (0)</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"> dbus_error_init (&amp;error);</td></tr>
+<tr class="codeline" data-linenumber="187"><td class="num" id="LN187">187</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="188"><td class="num" id="LN188">188</td><td class="line"> message = dbus_message_new_method_call (<span class='macro'>GS_SERVICE<span class='macro_popup'>"org.mate.ScreenSaver"</span></span>, <span class='macro'>GS_PATH<span class='macro_popup'>"/org/mate/ScreenSaver"</span></span>, <span class='macro'>GS_INTERFACE<span class='macro_popup'>"org.mate.ScreenSaver"</span></span>, name);</td></tr>
+<tr class="codeline" data-linenumber="189"><td class="num" id="LN189">189</td><td class="line"> <span class='keyword'>if</span> (message == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="190"><td class="num" id="LN190">190</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="191"><td class="num" id="LN191">191</td><td class="line"> g_warning (<span class='string_literal'>"Couldn't allocate the dbus message"</span>);</td></tr>
+<tr class="codeline" data-linenumber="192"><td class="num" id="LN192">192</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="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"> </td></tr>
+<tr class="codeline" data-linenumber="195"><td class="num" id="LN195">195</td><td class="line"> dbus_message_iter_init_append (message, &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="196"><td class="num" id="LN196">196</td><td class="line"> dbus_message_iter_append_basic (&amp;iter, <span class='macro'>DBUS_TYPE_BOOLEAN<span class='macro_popup'>((int) 'b')</span></span>, &amp;value);</td></tr>
+<tr class="codeline" data-linenumber="197"><td class="num" id="LN197">197</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="198"><td class="num" id="LN198">198</td><td class="line"> reply = dbus_connection_send_with_reply_and_block (connection,</td></tr>
+<tr class="codeline" data-linenumber="199"><td class="num" id="LN199">199</td><td class="line"> message,</td></tr>
+<tr class="codeline" data-linenumber="200"><td class="num" id="LN200">200</td><td class="line"> -1, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="201"><td class="num" id="LN201">201</td><td class="line"> <span class='keyword'>if</span> (dbus_error_is_set (&amp;error))</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"> g_warning (<span class='string_literal'>"%s raised:\n %s\n\n"</span>, error.name, error.message);</td></tr>
+<tr class="codeline" data-linenumber="204"><td class="num" id="LN204">204</td><td class="line"> reply = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</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"> </td></tr>
+<tr class="codeline" data-linenumber="207"><td class="num" id="LN207">207</td><td class="line"> dbus_connection_flush (connection);</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"> dbus_message_unref (message);</td></tr>
+<tr class="codeline" data-linenumber="210"><td class="num" id="LN210">210</td><td class="line"> dbus_error_free (&amp;error);</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'>return</span> reply;</td></tr>
+<tr class="codeline" data-linenumber="213"><td class="num" id="LN213">213</td><td class="line">}</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'>static</span> DBusMessage *</td></tr>
+<tr class="codeline" data-linenumber="216"><td class="num" id="LN216">216</td><td class="line">screensaver_send_message_void (DBusConnection *connection,</td></tr>
+<tr class="codeline" data-linenumber="217"><td class="num" id="LN217">217</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *name,</td></tr>
+<tr class="codeline" data-linenumber="218"><td class="num" id="LN218">218</td><td class="line"> gboolean expect_reply)</td></tr>
+<tr class="codeline" data-linenumber="219"><td class="num" id="LN219">219</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="220"><td class="num" id="LN220">220</td><td class="line"> DBusMessage *message;</td></tr>
+<tr class="codeline" data-linenumber="221"><td class="num" id="LN221">221</td><td class="line"> DBusMessage *reply;</td></tr>
+<tr class="codeline" data-linenumber="222"><td class="num" id="LN222">222</td><td class="line"> DBusError error;</td></tr>
+<tr class="codeline" data-linenumber="223"><td class="num" id="LN223">223</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="224"><td class="num" id="LN224">224</td><td class="line"> <span class='macro'>g_return_val_if_fail (connection != NULL, NULL)<span class='macro_popup'>do{ (void)0; }while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="225"><td class="num" id="LN225">225</td><td class="line"> <span class='macro'>g_return_val_if_fail (name != NULL, NULL)<span class='macro_popup'>do{ (void)0; }while (0)</span></span>;</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"> dbus_error_init (&amp;error);</td></tr>
+<tr class="codeline" data-linenumber="228"><td class="num" id="LN228">228</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="229"><td class="num" id="LN229">229</td><td class="line"> message = dbus_message_new_method_call (<span class='macro'>GS_SERVICE<span class='macro_popup'>"org.mate.ScreenSaver"</span></span>, <span class='macro'>GS_PATH<span class='macro_popup'>"/org/mate/ScreenSaver"</span></span>, <span class='macro'>GS_INTERFACE<span class='macro_popup'>"org.mate.ScreenSaver"</span></span>, name);</td></tr>
+<tr class="codeline" data-linenumber="230"><td class="num" id="LN230">230</td><td class="line"> <span class='keyword'>if</span> (message == <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"> g_warning (<span class='string_literal'>"Couldn't allocate the dbus message"</span>);</td></tr>
+<tr class="codeline" data-linenumber="233"><td class="num" id="LN233">233</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="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"> </td></tr>
+<tr class="codeline" data-linenumber="236"><td class="num" id="LN236">236</td><td class="line"> <span class='keyword'>if</span> (! expect_reply)</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'>if</span> (!dbus_connection_send (connection, message, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>))</td></tr>
+<tr class="codeline" data-linenumber="239"><td class="num" id="LN239">239</td><td class="line"> g_warning (<span class='string_literal'>"could not send message"</span>);</td></tr>
+<tr class="codeline" data-linenumber="240"><td class="num" id="LN240">240</td><td class="line"> reply = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></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"> <span class='keyword'>else</span></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"> reply = dbus_connection_send_with_reply_and_block (connection,</td></tr>
+<tr class="codeline" data-linenumber="245"><td class="num" id="LN245">245</td><td class="line"> message,</td></tr>
+<tr class="codeline" data-linenumber="246"><td class="num" id="LN246">246</td><td class="line"> -1, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="247"><td class="num" id="LN247">247</td><td class="line"> <span class='keyword'>if</span> (dbus_error_is_set (&amp;error))</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"> g_warning (<span class='string_literal'>"%s raised:\n %s\n\n"</span>, error.name, error.message);</td></tr>
+<tr class="codeline" data-linenumber="250"><td class="num" id="LN250">250</td><td class="line"> reply = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="251"><td class="num" id="LN251">251</td><td class="line"> }</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"> dbus_connection_flush (connection);</td></tr>
+<tr class="codeline" data-linenumber="254"><td class="num" id="LN254">254</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="255"><td class="num" id="LN255">255</td><td class="line"> dbus_message_unref (message);</td></tr>
+<tr class="codeline" data-linenumber="256"><td class="num" id="LN256">256</td><td class="line"> dbus_error_free (&amp;error);</td></tr>
+<tr class="codeline" data-linenumber="257"><td class="num" id="LN257">257</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="258"><td class="num" id="LN258">258</td><td class="line"> <span class='keyword'>return</span> reply;</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"> </td></tr>
+<tr class="codeline" data-linenumber="261"><td class="num" id="LN261">261</td><td class="line"><span class='keyword'>static</span> <span class='keyword'>char</span> **</td></tr>
+<tr class="codeline" data-linenumber="262"><td class="num" id="LN262">262</td><td class="line">get_string_from_iter (DBusMessageIter *iter,</td></tr>
+<tr class="codeline" data-linenumber="263"><td class="num" id="LN263">263</td><td class="line"> <span class='keyword'>int</span> *num_elements)</td></tr>
+<tr class="codeline" data-linenumber="264"><td class="num" id="LN264">264</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="265"><td class="num" id="LN265">265</td><td class="line"> <span class='keyword'>int</span> count;</td></tr>
+<tr class="codeline" data-linenumber="266"><td class="num" id="LN266">266</td><td class="line"> <span class='keyword'>char</span> **buffer;</td></tr>
+<tr class="codeline" data-linenumber="267"><td class="num" id="LN267">267</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="268"><td class="num" id="LN268">268</td><td class="line"> <span class='keyword'>if</span> (num_elements != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="269"><td class="num" id="LN269">269</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="270"><td class="num" id="LN270">270</td><td class="line"> *num_elements = 0;</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"> </td></tr>
+<tr class="codeline" data-linenumber="273"><td class="num" id="LN273">273</td><td class="line"> count = 0;</td></tr>
+<tr class="codeline" data-linenumber="274"><td class="num" id="LN274">274</td><td class="line"> buffer = (<span class='keyword'>char</span> **)malloc (<span class='keyword'>sizeof</span> (<span class='keyword'>char</span> *) * 8);</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"> <span class='keyword'>if</span> (buffer == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="277"><td class="num" id="LN277">277</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="278"><td class="num" id="LN278">278</td><td class="line"> <span class='keyword'>goto</span> oom;</td></tr>
+<tr class="codeline" data-linenumber="279"><td class="num" id="LN279">279</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="280"><td class="num" id="LN280">280</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="281"><td class="num" id="LN281">281</td><td class="line"> buffer[0] = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="282"><td class="num" id="LN282">282</td><td class="line"> <span class='keyword'>while</span> (dbus_message_iter_get_arg_type (iter) == <span class='macro'>DBUS_TYPE_STRING<span class='macro_popup'>((int) 's')</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="283"><td class="num" id="LN283">283</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="284"><td class="num" id="LN284">284</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *value;</td></tr>
+<tr class="codeline" data-linenumber="285"><td class="num" id="LN285">285</td><td class="line"> <span class='keyword'>char</span> *str;</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> ((count % 8) == 0 &amp;&amp; count != 0)</td></tr>
+<tr class="codeline" data-linenumber="288"><td class="num" id="LN288">288</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="289"><td class="num" id="LN289">289</td><td class="line"> buffer = realloc (buffer, <span class='keyword'>sizeof</span> (<span class='keyword'>char</span> *) * (count + 8));</td></tr>
+<tr class="codeline" data-linenumber="290"><td class="num" id="LN290">290</td><td class="line"> <span class='keyword'>if</span> (buffer == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</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'>goto</span> oom;</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"> </td></tr>
+<tr class="codeline" data-linenumber="296"><td class="num" id="LN296">296</td><td class="line"> dbus_message_iter_get_basic (iter, &amp;value);</td></tr>
+<tr class="codeline" data-linenumber="297"><td class="num" id="LN297">297</td><td class="line"> str = strdup (value);</td></tr>
+<tr class="codeline" data-linenumber="298"><td class="num" id="LN298">298</td><td class="line"> <span class='keyword'>if</span> (str == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</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"> <span class='keyword'>goto</span> oom;</td></tr>
+<tr class="codeline" data-linenumber="301"><td class="num" id="LN301">301</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="302"><td class="num" id="LN302">302</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="303"><td class="num" id="LN303">303</td><td class="line"> buffer[count] = str;</td></tr>
+<tr class="codeline" data-linenumber="304"><td class="num" id="LN304">304</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="305"><td class="num" id="LN305">305</td><td class="line"> dbus_message_iter_next (iter);</td></tr>
+<tr class="codeline" data-linenumber="306"><td class="num" id="LN306">306</td><td class="line"> count++;</td></tr>
+<tr class="codeline" data-linenumber="307"><td class="num" id="LN307">307</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="308"><td class="num" id="LN308">308</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="309"><td class="num" id="LN309">309</td><td class="line"> <span class='keyword'>if</span> ((count % 8) == 0)</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"> buffer = realloc (buffer, <span class='keyword'>sizeof</span> (<span class='keyword'>char</span> *) * (count + 1));</td></tr>
+<tr class="codeline" data-linenumber="312"><td class="num" id="LN312">312</td><td class="line"> <span class='keyword'>if</span> (buffer == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="313"><td class="num" id="LN313">313</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="314"><td class="num" id="LN314">314</td><td class="line"> <span class='keyword'>goto</span> oom;</td></tr>
+<tr class="codeline" data-linenumber="315"><td class="num" id="LN315">315</td><td class="line"> }</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"> </td></tr>
+<tr class="codeline" data-linenumber="318"><td class="num" id="LN318">318</td><td class="line"> buffer[count] = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="319"><td class="num" id="LN319">319</td><td class="line"> <span class='keyword'>if</span> (num_elements != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="320"><td class="num" id="LN320">320</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="321"><td class="num" id="LN321">321</td><td class="line"> *num_elements = count;</td></tr>
+<tr class="codeline" data-linenumber="322"><td class="num" id="LN322">322</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="323"><td class="num" id="LN323">323</td><td class="line"> <span class='keyword'>return</span> buffer;</td></tr>
+<tr class="codeline" data-linenumber="324"><td class="num" id="LN324">324</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="325"><td class="num" id="LN325">325</td><td class="line">oom:</td></tr>
+<tr class="codeline" data-linenumber="326"><td class="num" id="LN326">326</td><td class="line"> g_debug (<span class='string_literal'>"%s %d : error allocating memory\n"</span>, <span class='macro'>__FILE__<span class='macro_popup'>"mate-screensaver-command.c"</span></span>, <span class='macro'>__LINE__<span class='macro_popup'>326</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="327"><td class="num" id="LN327">327</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="328"><td class="num" id="LN328">328</td><td class="line"> </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"><span class='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="332"><td class="num" id="LN332">332</td><td class="line">do_command (gpointer data)</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"> DBusConnection *connection = data;</td></tr>
+<tr class="codeline" data-linenumber="335"><td class="num" id="LN335">335</td><td class="line"> DBusMessage *reply;</td></tr>
+<tr class="codeline" data-linenumber="336"><td class="num" id="LN336">336</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="337"><td class="num" id="LN337">337</td><td class="line"> <span class='keyword'>if</span> (do_quit)</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"> reply = screensaver_send_message_void (connection, <span class='string_literal'>"Quit"</span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="340"><td class="num" id="LN340">340</td><td class="line"> <span class='keyword'>goto</span> done;</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"> </td></tr>
+<tr class="codeline" data-linenumber="343"><td class="num" id="LN343">343</td><td class="line"> <span class='keyword'>if</span> (do_query)</td></tr>
+<tr class="codeline" data-linenumber="344"><td class="num" id="LN344">344</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="345"><td class="num" id="LN345">345</td><td class="line"> DBusMessageIter iter;</td></tr>
+<tr class="codeline" data-linenumber="346"><td class="num" id="LN346">346</td><td class="line"> DBusMessageIter array;</td></tr>
+<tr class="codeline" data-linenumber="347"><td class="num" id="LN347">347</td><td class="line"> dbus_bool_t v;</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"> reply = screensaver_send_message_void (connection, <span class='string_literal'>"GetActive"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="350"><td class="num" id="LN350">350</td><td class="line"> <span class='keyword'>if</span> (! reply)</td></tr>
+<tr class="codeline" data-linenumber="351"><td class="num" id="LN351">351</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="352"><td class="num" id="LN352">352</td><td class="line"> g_message (<span class='string_literal'>"Did not receive a reply from the screensaver."</span>);</td></tr>
+<tr class="codeline" data-linenumber="353"><td class="num" id="LN353">353</td><td class="line"> <span class='keyword'>goto</span> done;</td></tr>
+<tr class="codeline" data-linenumber="354"><td class="num" id="LN354">354</td><td class="line"> }</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"> dbus_message_iter_init (reply, &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="357"><td class="num" id="LN357">357</td><td class="line"> dbus_message_iter_get_basic (&amp;iter, &amp;v);</td></tr>
+<tr class="codeline" data-linenumber="358"><td class="num" id="LN358">358</td><td class="line"> g_print (<span class='macro'>_(<span class='string_literal'>"The screensaver is %s\n"</span>)<span class='macro_popup'>gettext ("The screensaver is %s\n")</span></span>, v ? <span class='macro'>_(<span class='string_literal'>"active"</span>)<span class='macro_popup'>gettext ("active")</span></span> : <span class='macro'>_(<span class='string_literal'>"inactive"</span>)<span class='macro_popup'>gettext ("inactive")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="359"><td class="num" id="LN359">359</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="360"><td class="num" id="LN360">360</td><td class="line"> dbus_message_unref (reply);</td></tr>
+<tr class="codeline" data-linenumber="361"><td class="num" id="LN361">361</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="362"><td class="num" id="LN362">362</td><td class="line"> reply = screensaver_send_message_void (connection, <span class='string_literal'>"GetInhibitors"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="363"><td class="num" id="LN363">363</td><td class="line"> <span class='keyword'>if</span> (! reply)</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"> g_message (<span class='string_literal'>"Did not receive a reply from screensaver."</span>);</td></tr>
+<tr class="codeline" data-linenumber="366"><td class="num" id="LN366">366</td><td class="line"> <span class='keyword'>goto</span> done;</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"> </td></tr>
+<tr class="codeline" data-linenumber="369"><td class="num" id="LN369">369</td><td class="line"> dbus_message_iter_init (reply, &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="370"><td class="num" id="LN370">370</td><td class="line"> dbus_message_iter_recurse (&amp;iter, &amp;array);</td></tr>
+<tr class="codeline" data-linenumber="371"><td class="num" id="LN371">371</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="372"><td class="num" id="LN372">372</td><td class="line"> <span class='keyword'>if</span> (dbus_message_iter_get_arg_type (&amp;array) == <span class='macro'>DBUS_TYPE_INVALID<span class='macro_popup'>((int) '\0')</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="373"><td class="num" id="LN373">373</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="374"><td class="num" id="LN374">374</td><td class="line"> g_print (<span class='macro'>_(<span class='string_literal'>"The screensaver is not inhibited\n"</span>)<span class='macro_popup'>gettext ("The screensaver is not inhibited\n")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="375"><td class="num" id="LN375">375</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="376"><td class="num" id="LN376">376</td><td class="line"> <span class='keyword'>else</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"> <span class='keyword'>char</span> **inhibitors;</td></tr>
+<tr class="codeline" data-linenumber="379"><td class="num" id="LN379">379</td><td class="line"> <span class='keyword'>int</span> i;</td></tr>
+<tr class="codeline" data-linenumber="380"><td class="num" id="LN380">380</td><td class="line"> <span class='keyword'>int</span> num;</td></tr>
+<tr class="codeline" data-linenumber="381"><td class="num" id="LN381">381</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="382"><td class="num" id="LN382">382</td><td class="line"> g_print (<span class='macro'>_(<span class='string_literal'>"The screensaver is being inhibited by:\n"</span>)<span class='macro_popup'>gettext ("The screensaver is being inhibited by:\n")</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="383"><td class="num" id="LN383">383</td><td class="line"> inhibitors = get_string_from_iter (&amp;array, &amp;num);</td></tr>
+<tr class="codeline" data-linenumber="384"><td class="num" id="LN384">384</td><td class="line"> <span class='keyword'>for</span> (i = 0; i &lt; num; i++)</td></tr>
+<tr class="codeline" data-linenumber="385"><td class="num" id="LN385">385</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="386"><td class="num" id="LN386">386</td><td class="line"> g_print (<span class='string_literal'>"\t%s\n"</span>, inhibitors[i]);</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"> g_strfreev (inhibitors);</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"> </td></tr>
+<tr class="codeline" data-linenumber="391"><td class="num" id="LN391">391</td><td class="line"> dbus_message_unref (reply);</td></tr>
+<tr class="codeline" data-linenumber="392"><td class="num" id="LN392">392</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="393"><td class="num" id="LN393">393</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="394"><td class="num" id="LN394">394</td><td class="line"> <span class='keyword'>if</span> (do_time)</td></tr>
+<tr class="codeline" data-linenumber="395"><td class="num" id="LN395">395</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="396"><td class="num" id="LN396">396</td><td class="line"> DBusMessageIter iter;</td></tr>
+<tr class="codeline" data-linenumber="397"><td class="num" id="LN397">397</td><td class="line"> dbus_bool_t v;</td></tr>
+<tr class="codeline" data-linenumber="398"><td class="num" id="LN398">398</td><td class="line"> dbus_int32_t t;</td></tr>
+<tr class="codeline" data-linenumber="399"><td class="num" id="LN399">399</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="400"><td class="num" id="LN400">400</td><td class="line"> reply = screensaver_send_message_void (connection, <span class='string_literal'>"GetActive"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="401"><td class="num" id="LN401">401</td><td class="line"> <span class='keyword'>if</span> (! reply)</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"> g_message (<span class='string_literal'>"Did not receive a reply from the screensaver."</span>);</td></tr>
+<tr class="codeline" data-linenumber="404"><td class="num" id="LN404">404</td><td class="line"> <span class='keyword'>goto</span> done;</td></tr>
+<tr class="codeline" data-linenumber="405"><td class="num" id="LN405">405</td><td class="line"> }</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"> dbus_message_iter_init (reply, &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="408"><td class="num" id="LN408">408</td><td class="line"> dbus_message_iter_get_basic (&amp;iter, &amp;v);</td></tr>
+<tr class="codeline" data-linenumber="409"><td class="num" id="LN409">409</td><td class="line"> dbus_message_unref (reply);</td></tr>
+<tr class="codeline" data-linenumber="410"><td class="num" id="LN410">410</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="411"><td class="num" id="LN411">411</td><td class="line"> <span class='keyword'>if</span> (v)</td></tr>
+<tr class="codeline" data-linenumber="412"><td class="num" id="LN412">412</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="413"><td class="num" id="LN413">413</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="414"><td class="num" id="LN414">414</td><td class="line"> reply = screensaver_send_message_void (connection, <span class='string_literal'>"GetActiveTime"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="415"><td class="num" id="LN415">415</td><td class="line"> dbus_message_iter_init (reply, &amp;iter);</td></tr>
+<tr class="codeline" data-linenumber="416"><td class="num" id="LN416">416</td><td class="line"> dbus_message_iter_get_basic (&amp;iter, &amp;t);</td></tr>
+<tr class="codeline" data-linenumber="417"><td class="num" id="LN417">417</td><td class="line"> g_print (<span class='macro'>_(<span class='string_literal'>"The screensaver has been active for %d seconds.\n"</span>)<span class='macro_popup'>gettext ("The screensaver has been active for %d seconds.\n")</span></span>, t);</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"> dbus_message_unref (reply);</td></tr>
+<tr class="codeline" data-linenumber="420"><td class="num" id="LN420">420</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="421"><td class="num" id="LN421">421</td><td class="line"> <span class='keyword'>else</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"> g_print (<span class='macro'>_(<span class='string_literal'>"The screensaver is not currently active.\n"</span>)<span class='macro_popup'>gettext ("The screensaver is not currently active.\n")</span></span>);</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"> </td></tr>
+<tr class="codeline" data-linenumber="427"><td class="num" id="LN427">427</td><td class="line"> <span class='keyword'>if</span> (do_lock)</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"> reply = screensaver_send_message_void (connection, <span class='string_literal'>"Lock"</span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</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'>if</span> (do_unlock)</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"> reply = screensaver_send_message_void (connection, <span class='string_literal'>"Unlock"</span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="435"><td class="num" id="LN435">435</td><td class="line"> }</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"> <span class='keyword'>if</span> (do_cycle)</td></tr>
+<tr class="codeline" data-linenumber="438"><td class="num" id="LN438">438</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="439"><td class="num" id="LN439">439</td><td class="line"> reply = screensaver_send_message_void (connection, <span class='string_literal'>"Cycle"</span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="440"><td class="num" id="LN440">440</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="441"><td class="num" id="LN441">441</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="442"><td class="num" id="LN442">442</td><td class="line"> <span class='keyword'>if</span> (do_poke)</td></tr>
+<tr class="codeline" data-linenumber="443"><td class="num" id="LN443">443</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="444"><td class="num" id="LN444">444</td><td class="line"> reply = <span class="mrange">screensaver_send_message_void (connection, <span class='string_literal'>"SimulateUserActivity"</span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>)</span>;</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:17ex">Value stored to 'reply' is never read</div></td></tr>
+<tr class="codeline" data-linenumber="445"><td class="num" id="LN445">445</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="446"><td class="num" id="LN446">446</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="447"><td class="num" id="LN447">447</td><td class="line"> <span class='keyword'>if</span> (do_activate)</td></tr>
+<tr class="codeline" data-linenumber="448"><td class="num" id="LN448">448</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="449"><td class="num" id="LN449">449</td><td class="line"> reply = screensaver_send_message_bool (connection, <span class='string_literal'>"SetActive"</span>, <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="450"><td class="num" id="LN450">450</td><td class="line"> <span class='keyword'>if</span> (! reply)</td></tr>
+<tr class="codeline" data-linenumber="451"><td class="num" id="LN451">451</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="452"><td class="num" id="LN452">452</td><td class="line"> g_message (<span class='string_literal'>"Did not receive a reply from the screensaver."</span>);</td></tr>
+<tr class="codeline" data-linenumber="453"><td class="num" id="LN453">453</td><td class="line"> <span class='keyword'>goto</span> done;</td></tr>
+<tr class="codeline" data-linenumber="454"><td class="num" id="LN454">454</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="455"><td class="num" id="LN455">455</td><td class="line"> dbus_message_unref (reply);</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"> </td></tr>
+<tr class="codeline" data-linenumber="458"><td class="num" id="LN458">458</td><td class="line"> <span class='keyword'>if</span> (do_deactivate)</td></tr>
+<tr class="codeline" data-linenumber="459"><td class="num" id="LN459">459</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="460"><td class="num" id="LN460">460</td><td class="line"> reply = screensaver_send_message_bool (connection, <span class='string_literal'>"SetActive"</span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="461"><td class="num" id="LN461">461</td><td class="line"> <span class='keyword'>if</span> (! reply)</td></tr>
+<tr class="codeline" data-linenumber="462"><td class="num" id="LN462">462</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="463"><td class="num" id="LN463">463</td><td class="line"> g_message (<span class='string_literal'>"Did not receive a reply from the screensaver."</span>);</td></tr>
+<tr class="codeline" data-linenumber="464"><td class="num" id="LN464">464</td><td class="line"> <span class='keyword'>goto</span> done;</td></tr>
+<tr class="codeline" data-linenumber="465"><td class="num" id="LN465">465</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="466"><td class="num" id="LN466">466</td><td class="line"> dbus_message_unref (reply);</td></tr>
+<tr class="codeline" data-linenumber="467"><td class="num" id="LN467">467</td><td class="line"> }</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"> <span class='keyword'>if</span> (do_inhibit)</td></tr>
+<tr class="codeline" data-linenumber="470"><td class="num" id="LN470">470</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="471"><td class="num" id="LN471">471</td><td class="line"> reply = screensaver_send_message_inhibit (connection,</td></tr>
+<tr class="codeline" data-linenumber="472"><td class="num" id="LN472">472</td><td class="line"> inhibit_application ? inhibit_application : <span class='string_literal'>"Unknown"</span>,</td></tr>
+<tr class="codeline" data-linenumber="473"><td class="num" id="LN473">473</td><td class="line"> inhibit_reason ? inhibit_reason : <span class='string_literal'>"Unknown"</span>);</td></tr>
+<tr class="codeline" data-linenumber="474"><td class="num" id="LN474">474</td><td class="line"> <span class='keyword'>if</span> (! reply)</td></tr>
+<tr class="codeline" data-linenumber="475"><td class="num" id="LN475">475</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="476"><td class="num" id="LN476">476</td><td class="line"> g_message (<span class='string_literal'>"Did not receive a reply from the screensaver."</span>);</td></tr>
+<tr class="codeline" data-linenumber="477"><td class="num" id="LN477">477</td><td class="line"> <span class='keyword'>goto</span> done;</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"> dbus_message_unref (reply);</td></tr>
+<tr class="codeline" data-linenumber="480"><td class="num" id="LN480">480</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="481"><td class="num" id="LN481">481</td><td class="line"> <span class='keyword'>return</span> <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="482"><td class="num" id="LN482">482</td><td class="line"> }</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">done:</td></tr>
+<tr class="codeline" data-linenumber="485"><td class="num" id="LN485">485</td><td class="line"> g_main_loop_quit (loop);</td></tr>
+<tr class="codeline" data-linenumber="486"><td class="num" id="LN486">486</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="487"><td class="num" id="LN487">487</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="488"><td class="num" id="LN488">488</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="489"><td class="num" id="LN489">489</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="490"><td class="num" id="LN490">490</td><td class="line"><span class='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="491"><td class="num" id="LN491">491</td><td class="line">main (<span class='keyword'>int</span> argc,</td></tr>
+<tr class="codeline" data-linenumber="492"><td class="num" id="LN492">492</td><td class="line"> <span class='keyword'>char</span> **argv)</td></tr>
+<tr class="codeline" data-linenumber="493"><td class="num" id="LN493">493</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="494"><td class="num" id="LN494">494</td><td class="line"> DBusConnection *connection;</td></tr>
+<tr class="codeline" data-linenumber="495"><td class="num" id="LN495">495</td><td class="line"> DBusError dbus_error;</td></tr>
+<tr class="codeline" data-linenumber="496"><td class="num" id="LN496">496</td><td class="line"> GOptionContext *context;</td></tr>
+<tr class="codeline" data-linenumber="497"><td class="num" id="LN497">497</td><td class="line"> gboolean retval;</td></tr>
+<tr class="codeline" data-linenumber="498"><td class="num" id="LN498">498</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="499"><td class="num" id="LN499">499</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="500"><td class="num" id="LN500">500</td><td class="line"><span class='directive'>#ifdef <span class='macro'>ENABLE_NLS<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="501"><td class="num" id="LN501">501</td><td class="line"> bindtextdomain (<span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-screensaver"</span></span>, <span class='macro'>MATELOCALEDIR<span class='macro_popup'>"/usr/local/share/locale"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="502"><td class="num" id="LN502">502</td><td class="line"><span class='directive'># ifdef HAVE_BIND_TEXTDOMAIN_CODESET</span></td></tr>
+<tr class="codeline" data-linenumber="503"><td class="num" id="LN503">503</td><td class="line"> bind_textdomain_codeset (<span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-screensaver"</span></span>, <span class='string_literal'>"UTF-8"</span>);</td></tr>
+<tr class="codeline" data-linenumber="504"><td class="num" id="LN504">504</td><td class="line"><span class='directive'># endif</span></td></tr>
+<tr class="codeline" data-linenumber="505"><td class="num" id="LN505">505</td><td class="line"> textdomain (<span class='macro'>GETTEXT_PACKAGE<span class='macro_popup'>"mate-screensaver"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="506"><td class="num" id="LN506">506</td><td class="line"><span class='directive'>#endif</span></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"> g_set_prgname (argv[0]);</td></tr>
+<tr class="codeline" data-linenumber="509"><td class="num" id="LN509">509</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="510"><td class="num" id="LN510">510</td><td class="line"> <span class='keyword'>if</span> (setlocale (<span class='macro'>LC_ALL<span class='macro_popup'>6</span></span>, <span class='string_literal'>""</span>) == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="511"><td class="num" id="LN511">511</td><td class="line"> g_warning (<span class='string_literal'>"Locale not understood by C library, internationalization will not work\n"</span>);</td></tr>
+<tr class="codeline" data-linenumber="512"><td class="num" id="LN512">512</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="513"><td class="num" id="LN513">513</td><td class="line"> context = g_option_context_new (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="514"><td class="num" id="LN514">514</td><td class="line"> g_option_context_add_main_entries (context, entries, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="515"><td class="num" id="LN515">515</td><td class="line"> retval = g_option_context_parse (context, &amp;argc, &amp;argv, &amp;error);</td></tr>
+<tr class="codeline" data-linenumber="516"><td class="num" id="LN516">516</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="517"><td class="num" id="LN517">517</td><td class="line"> g_option_context_free (context);</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"> <span class='keyword'>if</span> (! retval)</td></tr>
+<tr class="codeline" data-linenumber="520"><td class="num" id="LN520">520</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="521"><td class="num" id="LN521">521</td><td class="line"> g_warning (<span class='string_literal'>"%s"</span>, error-&gt;message);</td></tr>
+<tr class="codeline" data-linenumber="522"><td class="num" id="LN522">522</td><td class="line"> g_error_free (error);</td></tr>
+<tr class="codeline" data-linenumber="523"><td class="num" id="LN523">523</td><td class="line"> exit (1);</td></tr>
+<tr class="codeline" data-linenumber="524"><td class="num" id="LN524">524</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="525"><td class="num" id="LN525">525</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="526"><td class="num" id="LN526">526</td><td class="line"> <span class='keyword'>if</span> (do_version)</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"> g_print (<span class='string_literal'>"%s %s\n"</span>, argv [0], <span class='macro'>VERSION<span class='macro_popup'>"1.24.0"</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="529"><td class="num" id="LN529">529</td><td class="line"> exit (1);</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"> </td></tr>
+<tr class="codeline" data-linenumber="532"><td class="num" id="LN532">532</td><td class="line"> dbus_error_init (&amp;dbus_error);</td></tr>
+<tr class="codeline" data-linenumber="533"><td class="num" id="LN533">533</td><td class="line"> connection = dbus_bus_get (DBUS_BUS_SESSION, &amp;dbus_error);</td></tr>
+<tr class="codeline" data-linenumber="534"><td class="num" id="LN534">534</td><td class="line"> <span class='keyword'>if</span> (! connection)</td></tr>
+<tr class="codeline" data-linenumber="535"><td class="num" id="LN535">535</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="536"><td class="num" id="LN536">536</td><td class="line"> g_message (<span class='string_literal'>"Failed to connect to the D-BUS daemon: %s"</span>, dbus_error.message);</td></tr>
+<tr class="codeline" data-linenumber="537"><td class="num" id="LN537">537</td><td class="line"> dbus_error_free (&amp;dbus_error);</td></tr>
+<tr class="codeline" data-linenumber="538"><td class="num" id="LN538">538</td><td class="line"> exit (1);</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"> </td></tr>
+<tr class="codeline" data-linenumber="541"><td class="num" id="LN541">541</td><td class="line"> dbus_connection_setup_with_g_main (connection, <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="542"><td class="num" id="LN542">542</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="543"><td class="num" id="LN543">543</td><td class="line"> <span class='keyword'>if</span> (! screensaver_is_running (connection))</td></tr>
+<tr class="codeline" data-linenumber="544"><td class="num" id="LN544">544</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="545"><td class="num" id="LN545">545</td><td class="line"> g_message (<span class='string_literal'>"Screensaver is not running!"</span>);</td></tr>
+<tr class="codeline" data-linenumber="546"><td class="num" id="LN546">546</td><td class="line"> exit (1);</td></tr>
+<tr class="codeline" data-linenumber="547"><td class="num" id="LN547">547</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="548"><td class="num" id="LN548">548</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="549"><td class="num" id="LN549">549</td><td class="line"> g_idle_add (do_command, connection);</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"> loop = g_main_loop_new (<span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>, <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>);</td></tr>
+<tr class="codeline" data-linenumber="552"><td class="num" id="LN552">552</td><td class="line"> g_main_loop_run (loop);</td></tr>
+<tr class="codeline" data-linenumber="553"><td class="num" id="LN553">553</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="554"><td class="num" id="LN554">554</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="555"><td class="num" id="LN555">555</td><td class="line">}</td></tr>
+</table></body></html>
diff --git a/[email protected]_master/report-1b22cd.html b/[email protected]_master/report-1b22cd.html
new file mode 100644
index 0000000..d07e1ff
--- /dev/null
+++ b/[email protected]_master/report-1b22cd.html
@@ -0,0 +1,515 @@
+<!doctype html>
+<html>
+<head>
+<title>xdg-user-dir-lookup.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/savers/xdg-user-dir-lookup.c -->
+
+<!-- FILENAME xdg-user-dir-lookup.c -->
+
+<!-- FUNCTIONNAME xdg_user_dir_lookup -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 8aee7318787626c69a1a37793b24e90f -->
+
+<!-- BUGLINE 145 -->
+
+<!-- BUGCOLUMN 3 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>avers/xdg-user-dir-lookup.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 145, column 3</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 xdg-user-dir-lookup.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=all -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/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/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 LIBEXECDIR="/usr/local/libexec" -D MATELOCALEDIR="/usr/local/share/locale" -D DATADIR="/usr/local/share" -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/savers -ferror-limit 19 -fmessage-length 0 -fgnuc-version=4.2.1 -fobjc-runtime=gcc -fdiagnostics-show-option -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-20-162434-6530-1 -x c xdg-user-dir-lookup.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": {"145": 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'>This file is not licenced under the GPL like the rest of the code.</span></td></tr>
+<tr class="codeline" data-linenumber="3"><td class="num" id="LN3">3</td><td class="line"> <span class='comment'>Its is under the MIT license, to encourage reuse by cut-and-paste.</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>Copyright (c) 2007 Red Hat, inc</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="7"><td class="num" id="LN7">7</td><td class="line"> <span class='comment'>Permission is hereby granted, free of charge, to any person</span></td></tr>
+<tr class="codeline" data-linenumber="8"><td class="num" id="LN8">8</td><td class="line"> <span class='comment'>obtaining a copy of this software and associated documentation files</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>(the "Software"), to deal in the Software without restriction,</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>including without limitation the rights to use, copy, modify, merge,</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>publish, distribute, sublicense, and/or sell copies of the Software,</span></td></tr>
+<tr class="codeline" data-linenumber="12"><td class="num" id="LN12">12</td><td class="line"> <span class='comment'>and to permit persons to whom the Software is furnished to do so,</span></td></tr>
+<tr class="codeline" data-linenumber="13"><td class="num" id="LN13">13</td><td class="line"> <span class='comment'>subject to the following conditions:</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</td><td class="line"> <span class='comment'>The above copyright notice and this permission notice shall be</span></td></tr>
+<tr class="codeline" data-linenumber="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>included in all copies or substantial portions of the Software.</span></td></tr>
+<tr class="codeline" data-linenumber="17"><td class="num" id="LN17">17</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="18"><td class="num" id="LN18">18</td><td class="line"> <span class='comment'>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</td><td class="line"> <span class='comment'>EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></td></tr>
+<tr class="codeline" data-linenumber="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> <span class='comment'>CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"> <span class='comment'>SOFTWARE.</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"><span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#include &lt;stdio.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;stdlib.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;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include "xdg-user-dir-lookup.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='keyword'>char</span> *</td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line">xdg_user_dir_lookup (<span class='keyword'>const</span> <span class='keyword'>char</span> *type)</td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"> FILE *file;</td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"> <span class='keyword'>char</span> *home_dir, *config_home, *config_file;</td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"> <span class='keyword'>char</span> buffer[512];</td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"> <span class='keyword'>char</span> *user_dir;</td></tr>
+<tr class="codeline" data-linenumber="41"><td class="num" id="LN41">41</td><td class="line"> <span class='keyword'>char</span> *p, *d;</td></tr>
+<tr class="codeline" data-linenumber="42"><td class="num" id="LN42">42</td><td class="line"> <span class='keyword'>int</span> len;</td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"> <span class='keyword'>int</span> relative;</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"> home_dir = getenv (<span class='string_literal'>"HOME"</span>);</td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"> <span class='keyword'>if</span> (home_dir == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="48"><td class="num" id="LN48">48</td><td class="line"> <span class='keyword'>return</span> strdup (<span class='string_literal'>"/tmp"</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"> config_home = getenv (<span class='string_literal'>"XDG_CONFIG_HOME"</span>);</td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"> <span class='keyword'>if</span> (config_home == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> || config_home[0] == 0)</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"> config_file = malloc (strlen (home_dir) + strlen (<span class='string_literal'>"/.config/user-dirs.dirs"</span>) + 1);</td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"> strcpy (config_file, home_dir);</td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"> strcat (config_file, <span class='string_literal'>"/.config/user-dirs.dirs"</span>);</td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> <span class='keyword'>else</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"> config_file = malloc (strlen (config_home) + strlen (<span class='string_literal'>"/user-dirs.dirs"</span>) + 1);</td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"> strcpy (config_file, config_home);</td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"> strcat (config_file, <span class='string_literal'>"/user-dirs.dirs"</span>);</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"> </td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"> file = fopen (config_file, <span class='string_literal'>"r"</span>);</td></tr>
+<tr class="codeline" data-linenumber="65"><td class="num" id="LN65">65</td><td class="line"> free (config_file);</td></tr>
+<tr class="codeline" data-linenumber="66"><td class="num" id="LN66">66</td><td class="line"> <span class='keyword'>if</span> (file == <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>)</td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"> <span class='keyword'>goto</span> error;</td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> user_dir = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> <span class='keyword'>while</span> (fgets (buffer, <span class='keyword'>sizeof</span> (buffer), file))</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"> <span class='comment'>/* Remove newline at end */</span></td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"> len = strlen (buffer);</td></tr>
+<tr class="codeline" data-linenumber="74"><td class="num" id="LN74">74</td><td class="line"> <span class='keyword'>if</span> (len &gt; 0 &amp;&amp; buffer[len-1] == '\n')</td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"> buffer[len-1] = 0;</td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"> p = buffer;</td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> <span class='keyword'>while</span> (*p == ' ' || *p == '\t')</td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"> p++;</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"> <span class='keyword'>if</span> (strncmp (p, <span class='string_literal'>"XDG_"</span>, 4) != 0)</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"> p += 4;</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line"> <span class='keyword'>if</span> (strncmp (p, type, strlen (type)) != 0)</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> p += strlen (type);</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> <span class='keyword'>if</span> (strncmp (p, <span class='string_literal'>"_DIR"</span>, 4) != 0)</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> p += 4;</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> <span class='keyword'>while</span> (*p == ' ' || *p == '\t')</td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"> p++;</td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> <span class='keyword'>if</span> (*p != '=')</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> p++;</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> <span class='keyword'>while</span> (*p == ' ' || *p == '\t')</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line"> p++;</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"> <span class='keyword'>if</span> (*p != '"')</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"> <span class='keyword'>continue</span>;</td></tr>
+<tr class="codeline" data-linenumber="103"><td class="num" id="LN103">103</td><td class="line"> p++;</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"> relative = 0;</td></tr>
+<tr class="codeline" data-linenumber="106"><td class="num" id="LN106">106</td><td class="line"> <span class='keyword'>if</span> (strncmp (p, <span class='string_literal'>"$HOME/"</span>, 6) == 0)</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"> p += 6;</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> relative = 1;</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'>else</span> <span class='keyword'>if</span> (*p != '/')</td></tr>
+<tr class="codeline" data-linenumber="112"><td class="num" id="LN112">112</td><td class="line"> <span class='keyword'>continue</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> (relative)</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"> user_dir = malloc (strlen (home_dir) + 1 + strlen (p) + 1);</td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line"> strcpy (user_dir, home_dir);</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line"> strcat (user_dir, <span class='string_literal'>"/"</span>);</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line"> <span class='keyword'>else</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"> user_dir = malloc (strlen (p) + 1);</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line"> *user_dir = 0;</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line"> }</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"> d = user_dir + strlen (user_dir);</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> <span class='keyword'>while</span> (*p &amp;&amp; *p != '"')</td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line"> <span class='keyword'>if</span> ((*p == '\\') &amp;&amp; (*(p+1) != 0))</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line"> p++;</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> *d++ = *p++;</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"> *d = 0;</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"> fclose (file);</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='keyword'>if</span> (user_dir)</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> <span class='keyword'>return</span> user_dir;</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">error:</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='comment'>/* Special case desktop for historical compatibility */</span></td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> <span class='keyword'>if</span> (strcmp (type, <span class='string_literal'>"DESKTOP"</span>) == 0)</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"> user_dir = malloc (strlen (home_dir) + strlen (<span class='string_literal'>"/Desktop"</span>) + 1);</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> <span class="mrange">strcpy</span> (user_dir, home_dir);</td></tr>
+<tr><td class="num"></td><td class="line"><div id="EndPath" class="msg msgEvent" style="margin-left:17ex; 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="146"><td class="num" id="LN146">146</td><td class="line"> strcat (user_dir, <span class='string_literal'>"/Desktop"</span>);</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> <span class='keyword'>return</span> user_dir;</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> }</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> <span class='keyword'>else</span></td></tr>
+<tr class="codeline" data-linenumber="150"><td class="num" id="LN150">150</td><td class="line"> <span class='keyword'>return</span> strdup (home_dir);</td></tr>
+<tr class="codeline" data-linenumber="151"><td class="num" id="LN151">151</td><td class="line">}</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"><span class='directive'>#ifdef STANDALONE</span></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='keyword'>int</span></td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line">main (<span class='keyword'>int</span> argc, <span class='keyword'>char</span> *argv[])</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'>if</span> (argc != 2)</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"> fprintf (<span class='macro'>stderr<span class='macro_popup'>stderr</span></span>, <span class='string_literal'>"Usage %s &lt;dir-type&gt;\n"</span>, argv[0]);</td></tr>
+<tr class="codeline" data-linenumber="161"><td class="num" id="LN161">161</td><td class="line"> exit (1);</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> }</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"> printf (<span class='string_literal'>"%s\n"</span>, xdg_user_dir_lookup (argv[1]));</td></tr>
+<tr class="codeline" data-linenumber="165"><td class="num" id="LN165">165</td><td class="line"> <span class='keyword'>return</span> 0;</td></tr>
+<tr class="codeline" data-linenumber="166"><td class="num" id="LN166">166</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"><span class='directive'>#endif</span></td></tr>
+</table></body></html>
diff --git a/2[email protected]_master/report-1f5779.html b/[email protected]_master/report-1f5779.html
new file mode 100644
index 0000000..62f76ec
--- /dev/null
+++ b/[email protected]_master/report-1f5779.html
@@ -0,0 +1,1183 @@
+<!doctype html>
+<html>
+<head>
+<title>gs-auth-pam.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 'res' is never read -->
+
+<!-- BUGTYPE Dead assignment -->
+
+<!-- BUGCATEGORY Dead store -->
+
+<!-- BUGFILE /rootdir/src/gs-auth-pam.c -->
+
+<!-- FILENAME gs-auth-pam.c -->
+
+<!-- FUNCTIONNAME pam_conversation -->
+
+<!-- ISSUEHASHCONTENTOFLINEINCONTEXT 86b9ebddc005a0348dd95a1922cbf297 -->
+
+<!-- BUGLINE 281 -->
+
+<!-- BUGCOLUMN 2 -->
+
+<!-- BUGPATHLENGTH 1 -->
+
+<!-- BUGMETAEND -->
+<!-- REPORTHEADER -->
+<h3>Bug Summary</h3>
+<table class="simpletable">
+<tr><td class="rowname">File:</td><td>rc/gs-auth-pam.c</td></tr>
+<tr><td class="rowname">Warning:</td><td><a href="#EndPath">line 281, column 2</a><br />Value stored to 'res' 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 gs-auth-pam.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=all -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 . -D MATEMENU_I_KNOW_THIS_IS_UNSTABLE -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/atk-1.0 -I /usr/include/at-spi2-atk/2.0 -I /usr/include/dbus-1.0 -I /usr/lib64/dbus-1.0/include -I /usr/include/at-spi-2.0 -I /usr/include/mate-desktop-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -I /usr/include/mate-menus -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/include/mate-desktop-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -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/include/mate-desktop-2.0 -I /usr/include/startup-notification-1.0 -I /usr/include/dconf -I /usr/include/mate-menus -D PREFIX="/usr/local" -D BINDIR="/usr/local/bin" -D LIBDIR="/usr/local/lib" -D LIBEXECDIR="/usr/local/libexec" -D DATADIR="/usr/local/share" -D SYSCONFDIR="/usr/local/etc" -D MATELOCALEDIR="/usr/local/share/locale" -D SAVERDIR="/usr/local/libexec/mate-screensaver" -D THEMESDIR="/usr/local/share/mate-screensaver/themes" -D GTKBUILDERDIR="/usr/local/share/mate-screensaver" -D PAM_SERVICE_NAME="mate-screensaver" -D G_DISABLE_ASSERT -D G_DISABLE_CHECKS -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/gtk-3.0 -I /usr/include/pango-1.0 -I /usr/include/harfbuzz -I /usr/include/fribidi -I /usr/include/freetype2 -I /usr/include/libpng16 -I /usr/include/cairo -I /usr/include/pixman-1 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/libmount -I /usr/include/blkid -I /usr/include/gio-unix-2.0 -I /usr/include/libxml2 -I /usr/include/gdk-pixbuf-2.0 -I /usr/include/glib-2.0 -I /usr/lib64/glib-2.0/include -I /usr/include/libmount -I /usr/include/blkid -internal-isystem /usr/local/include -internal-isystem /usr/lib64/clang/10.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wno-unused-parameter -Wno-sign-compare -fdebug-compilation-dir /rootdir/src -ferror-limit 19 -fmessage-length 0 -fgnuc-version=4.2.1 -fobjc-runtime=gcc -fdiagnostics-show-option -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-20-162434-6530-1 -x c gs-auth-pam.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": {"281": 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'>/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-</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'>* Copyright (C) 2006 William Jon McCann &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="4"><td class="num" id="LN4">4</td><td class="line"> <span class='comment'>* Copyright (C) 2006 Ray Strode &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="5"><td class="num" id="LN5">5</td><td class="line"> <span class='comment'>* Copyright (C) 2003 Bill Nottingham &lt;[email protected]&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="6"><td class="num" id="LN6">6</td><td class="line"> <span class='comment'>* Copyright (c) 1993-2003 Jamie Zawinski &lt;[email protected]&gt;</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 free software; you can redistribute it and/or</span></td></tr>
+<tr class="codeline" data-linenumber="9"><td class="num" id="LN9">9</td><td class="line"> <span class='comment'>* modify it under the terms of the GNU General Public License as</span></td></tr>
+<tr class="codeline" data-linenumber="10"><td class="num" id="LN10">10</td><td class="line"> <span class='comment'>* published by the Free Software Foundation; either version 2 of the</span></td></tr>
+<tr class="codeline" data-linenumber="11"><td class="num" id="LN11">11</td><td class="line"> <span class='comment'>* License, or (at your option) any later version.</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'>* This program is distributed in the hope that it will be useful, but</span></td></tr>
+<tr class="codeline" data-linenumber="14"><td class="num" id="LN14">14</td><td class="line"> <span class='comment'>* WITHOUT ANY WARRANTY; without even the implied warranty of</span></td></tr>
+<tr class="codeline" data-linenumber="15"><td class="num" id="LN15">15</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="16"><td class="num" id="LN16">16</td><td class="line"> <span class='comment'>* General Public License for more details.</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'>* You should have received a copy of the GNU General Public License</span></td></tr>
+<tr class="codeline" data-linenumber="19"><td class="num" id="LN19">19</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="20"><td class="num" id="LN20">20</td><td class="line"> <span class='comment'>* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA</span></td></tr>
+<tr class="codeline" data-linenumber="21"><td class="num" id="LN21">21</td><td class="line"> <span class='comment'>* 02110-1301, USA.</span></td></tr>
+<tr class="codeline" data-linenumber="22"><td class="num" id="LN22">22</td><td class="line"> <span class='comment'>*</span></td></tr>
+<tr class="codeline" data-linenumber="23"><td class="num" id="LN23">23</td><td class="line"> <span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="24"><td class="num" id="LN24">24</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="25"><td class="num" id="LN25">25</td><td class="line"><span class='directive'>#include "config.h"</span></td></tr>
+<tr class="codeline" data-linenumber="26"><td class="num" id="LN26">26</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="27"><td class="num" id="LN27">27</td><td class="line"><span class='directive'>#include &lt;stdlib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="28"><td class="num" id="LN28">28</td><td class="line"><span class='directive'>#ifdef <span class='macro'>HAVE_UNISTD_H<span class='macro_popup'>1</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="29"><td class="num" id="LN29">29</td><td class="line"><span class='directive'># include &lt;unistd.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="30"><td class="num" id="LN30">30</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="31"><td class="num" id="LN31">31</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="32"><td class="num" id="LN32">32</td><td class="line"><span class='directive'>#include &lt;fcntl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="33"><td class="num" id="LN33">33</td><td class="line"><span class='directive'>#include &lt;stdio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="34"><td class="num" id="LN34">34</td><td class="line"><span class='directive'>#include &lt;string.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="35"><td class="num" id="LN35">35</td><td class="line"><span class='directive'>#include &lt;sys/types.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="36"><td class="num" id="LN36">36</td><td class="line"><span class='directive'>#include &lt;pwd.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="37"><td class="num" id="LN37">37</td><td class="line"><span class='directive'>#include &lt;grp.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="38"><td class="num" id="LN38">38</td><td class="line"><span class='directive'>#include &lt;security/pam_appl.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="39"><td class="num" id="LN39">39</td><td class="line"><span class='directive'>#include &lt;signal.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="40"><td class="num" id="LN40">40</td><td class="line"><span class='directive'>#include &lt;<span class='macro'>errno<span class='macro_popup'>(*__errno_location ())</span></span>.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="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"><span class='directive'>#include &lt;glib.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="43"><td class="num" id="LN43">43</td><td class="line"><span class='directive'>#include &lt;glib/gstdio.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="44"><td class="num" id="LN44">44</td><td class="line"><span class='directive'>#include &lt;glib/gi18n.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="45"><td class="num" id="LN45">45</td><td class="line"><span class='directive'>#include &lt;gtk/gtk.h&gt;</span></td></tr>
+<tr class="codeline" data-linenumber="46"><td class="num" id="LN46">46</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="47"><td class="num" id="LN47">47</td><td class="line"><span class='directive'>#include "gs-auth.h"</span></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"><span class='directive'>#include "subprocs.h"</span></td></tr>
+<tr class="codeline" data-linenumber="50"><td class="num" id="LN50">50</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="51"><td class="num" id="LN51">51</td><td class="line"><span class='comment'>/* Some time between Red Hat 4.2 and 7.0, the words were transposed</span></td></tr>
+<tr class="codeline" data-linenumber="52"><td class="num" id="LN52">52</td><td class="line"> <span class='comment'>in the various PAM_x_CRED macro names. Yay!</span></td></tr>
+<tr class="codeline" data-linenumber="53"><td class="num" id="LN53">53</td><td class="line"><span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="54"><td class="num" id="LN54">54</td><td class="line"><span class='directive'>#ifndef <span class='macro'>PAM_REFRESH_CRED<span class='macro_popup'>0x0010U</span></span></span></td></tr>
+<tr class="codeline" data-linenumber="55"><td class="num" id="LN55">55</td><td class="line"><span class='directive'># define <span class='macro'>PAM_REFRESH_CRED<span class='macro_popup'>0x0010U</span></span> PAM_CRED_REFRESH</span></td></tr>
+<tr class="codeline" data-linenumber="56"><td class="num" id="LN56">56</td><td class="line"><span class='directive'>#endif</span></td></tr>
+<tr class="codeline" data-linenumber="57"><td class="num" id="LN57">57</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="58"><td class="num" id="LN58">58</td><td class="line"><span class='directive'>#ifdef HAVE_PAM_FAIL_DELAY</span></td></tr>
+<tr class="codeline" data-linenumber="59"><td class="num" id="LN59">59</td><td class="line"><span class='comment'>/* We handle delays ourself.*/</span></td></tr>
+<tr class="codeline" data-linenumber="60"><td class="num" id="LN60">60</td><td class="line"><span class='comment'>/* Don't set this to 0 (Linux bug workaround.) */</span></td></tr>
+<tr class="codeline" data-linenumber="61"><td class="num" id="LN61">61</td><td class="line"><span class='directive'># define <span class='macro'>PAM_NO_DELAY(pamh)<span class='macro_popup'>pam_fail_delay ((pamh), 1)</span></span> pam_fail_delay ((pamh), 1)</span></td></tr>
+<tr class="codeline" data-linenumber="62"><td class="num" id="LN62">62</td><td class="line"><span class='directive'>#else /* !HAVE_PAM_FAIL_DELAY */</span></td></tr>
+<tr class="codeline" data-linenumber="63"><td class="num" id="LN63">63</td><td class="line"><span class='directive'># define <span class='macro'>PAM_NO_DELAY(pamh)<span class='macro_popup'>pam_fail_delay ((pamh), 1)</span></span> /* */</span></td></tr>
+<tr class="codeline" data-linenumber="64"><td class="num" id="LN64">64</td><td class="line"><span class='directive'>#endif /* !HAVE_PAM_FAIL_DELAY */</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"> </td></tr>
+<tr class="codeline" data-linenumber="67"><td class="num" id="LN67">67</td><td class="line"><span class='comment'>/* On SunOS 5.6, and on Linux with PAM 0.64, pam_strerror() takes two args.</span></td></tr>
+<tr class="codeline" data-linenumber="68"><td class="num" id="LN68">68</td><td class="line"> <span class='comment'>On some other Linux systems with some other version of PAM (e.g.,</span></td></tr>
+<tr class="codeline" data-linenumber="69"><td class="num" id="LN69">69</td><td class="line"> <span class='comment'>whichever Debian release comes with a 2.2.5 kernel) it takes one arg.</span></td></tr>
+<tr class="codeline" data-linenumber="70"><td class="num" id="LN70">70</td><td class="line"> <span class='comment'>I can't tell which is more "recent" or "correct" behavior, so configure</span></td></tr>
+<tr class="codeline" data-linenumber="71"><td class="num" id="LN71">71</td><td class="line"> <span class='comment'>figures out which is in use for us. Shoot me!</span></td></tr>
+<tr class="codeline" data-linenumber="72"><td class="num" id="LN72">72</td><td class="line"><span class='comment'>*/</span></td></tr>
+<tr class="codeline" data-linenumber="73"><td class="num" id="LN73">73</td><td class="line"><span class='directive'>#ifdef <span class='macro'>PAM_STRERROR_TWO_ARGS<span class='macro_popup'>1</span></span></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'>PAM_STRERROR(pamh, status)<span class='macro_popup'>pam_strerror((pamh), (status))</span></span> pam_strerror((pamh), (status))</span></td></tr>
+<tr class="codeline" data-linenumber="75"><td class="num" id="LN75">75</td><td class="line"><span class='directive'>#else /* !PAM_STRERROR_TWO_ARGS */</span></td></tr>
+<tr class="codeline" data-linenumber="76"><td class="num" id="LN76">76</td><td class="line"><span class='directive'># define <span class='macro'>PAM_STRERROR(pamh, status)<span class='macro_popup'>pam_strerror((pamh), (status))</span></span> pam_strerror((status))</span></td></tr>
+<tr class="codeline" data-linenumber="77"><td class="num" id="LN77">77</td><td class="line"><span class='directive'>#endif /* !PAM_STRERROR_TWO_ARGS */</span></td></tr>
+<tr class="codeline" data-linenumber="78"><td class="num" id="LN78">78</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="79"><td class="num" id="LN79">79</td><td class="line"><span class='keyword'>static</span> gboolean verbose_enabled = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="80"><td class="num" id="LN80">80</td><td class="line"><span class='keyword'>static</span> pam_handle_t *pam_handle = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="81"><td class="num" id="LN81">81</td><td class="line"><span class='keyword'>static</span> gboolean did_we_ask_for_password = <span class='macro'>FALSE<span class='macro_popup'>(0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="82"><td class="num" id="LN82">82</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="83"><td class="num" id="LN83">83</td><td class="line"><span class='keyword'>struct</span> pam_closure</td></tr>
+<tr class="codeline" data-linenumber="84"><td class="num" id="LN84">84</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="85"><td class="num" id="LN85">85</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *username;</td></tr>
+<tr class="codeline" data-linenumber="86"><td class="num" id="LN86">86</td><td class="line"> GSAuthMessageFunc cb_func;</td></tr>
+<tr class="codeline" data-linenumber="87"><td class="num" id="LN87">87</td><td class="line"> gpointer cb_data;</td></tr>
+<tr class="codeline" data-linenumber="88"><td class="num" id="LN88">88</td><td class="line"> <span class='keyword'>int</span> signal_fd;</td></tr>
+<tr class="codeline" data-linenumber="89"><td class="num" id="LN89">89</td><td class="line"> <span class='keyword'>int</span> result;</td></tr>
+<tr class="codeline" data-linenumber="90"><td class="num" id="LN90">90</td><td class="line">};</td></tr>
+<tr class="codeline" data-linenumber="91"><td class="num" id="LN91">91</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="92"><td class="num" id="LN92">92</td><td class="line"><span class='keyword'>typedef</span> <span class='keyword'>struct</span></td></tr>
+<tr class="codeline" data-linenumber="93"><td class="num" id="LN93">93</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="94"><td class="num" id="LN94">94</td><td class="line"> <span class='keyword'>struct</span> pam_closure *closure;</td></tr>
+<tr class="codeline" data-linenumber="95"><td class="num" id="LN95">95</td><td class="line"> GSAuthMessageStyle style;</td></tr>
+<tr class="codeline" data-linenumber="96"><td class="num" id="LN96">96</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *msg;</td></tr>
+<tr class="codeline" data-linenumber="97"><td class="num" id="LN97">97</td><td class="line"> <span class='keyword'>char</span> **resp;</td></tr>
+<tr class="codeline" data-linenumber="98"><td class="num" id="LN98">98</td><td class="line"> gboolean should_interrupt_stack;</td></tr>
+<tr class="codeline" data-linenumber="99"><td class="num" id="LN99">99</td><td class="line">} GsAuthMessageHandlerData;</td></tr>
+<tr class="codeline" data-linenumber="100"><td class="num" id="LN100">100</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="101"><td class="num" id="LN101">101</td><td class="line"><span class='keyword'>static</span> GCond message_handled_condition;</td></tr>
+<tr class="codeline" data-linenumber="102"><td class="num" id="LN102">102</td><td class="line"><span class='keyword'>static</span> GMutex message_handler_mutex;</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">GQuark</td></tr>
+<tr class="codeline" data-linenumber="105"><td class="num" id="LN105">105</td><td class="line">gs_auth_error_quark (<span class='keyword'>void</span>)</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"> <span class='keyword'>static</span> GQuark quark = 0;</td></tr>
+<tr class="codeline" data-linenumber="108"><td class="num" id="LN108">108</td><td class="line"> <span class='keyword'>if</span> (! quark)</td></tr>
+<tr class="codeline" data-linenumber="109"><td class="num" id="LN109">109</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="110"><td class="num" id="LN110">110</td><td class="line"> quark = g_quark_from_static_string (<span class='string_literal'>"gs_auth_error"</span>);</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"> </td></tr>
+<tr class="codeline" data-linenumber="113"><td class="num" id="LN113">113</td><td class="line"> <span class='keyword'>return</span> quark;</td></tr>
+<tr class="codeline" data-linenumber="114"><td class="num" id="LN114">114</td><td class="line">}</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'>void</span></td></tr>
+<tr class="codeline" data-linenumber="117"><td class="num" id="LN117">117</td><td class="line">gs_auth_set_verbose (gboolean enabled)</td></tr>
+<tr class="codeline" data-linenumber="118"><td class="num" id="LN118">118</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="119"><td class="num" id="LN119">119</td><td class="line"> verbose_enabled = enabled;</td></tr>
+<tr class="codeline" data-linenumber="120"><td class="num" id="LN120">120</td><td class="line">}</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">gboolean</td></tr>
+<tr class="codeline" data-linenumber="123"><td class="num" id="LN123">123</td><td class="line">gs_auth_get_verbose (<span class='keyword'>void</span>)</td></tr>
+<tr class="codeline" data-linenumber="124"><td class="num" id="LN124">124</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="125"><td class="num" id="LN125">125</td><td class="line"> <span class='keyword'>return</span> verbose_enabled;</td></tr>
+<tr class="codeline" data-linenumber="126"><td class="num" id="LN126">126</td><td class="line">}</td></tr>
+<tr class="codeline" data-linenumber="127"><td class="num" id="LN127">127</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="128"><td class="num" id="LN128">128</td><td class="line"><span class='keyword'>static</span> GSAuthMessageStyle</td></tr>
+<tr class="codeline" data-linenumber="129"><td class="num" id="LN129">129</td><td class="line">pam_style_to_gs_style (<span class='keyword'>int</span> pam_style)</td></tr>
+<tr class="codeline" data-linenumber="130"><td class="num" id="LN130">130</td><td class="line">{</td></tr>
+<tr class="codeline" data-linenumber="131"><td class="num" id="LN131">131</td><td class="line"> GSAuthMessageStyle style;</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"> <span class='keyword'>switch</span> (pam_style)</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'>case</span> <span class='macro'>PAM_PROMPT_ECHO_ON<span class='macro_popup'>2</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="136"><td class="num" id="LN136">136</td><td class="line"> style = GS_AUTH_MESSAGE_PROMPT_ECHO_ON;</td></tr>
+<tr class="codeline" data-linenumber="137"><td class="num" id="LN137">137</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="138"><td class="num" id="LN138">138</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>PAM_PROMPT_ECHO_OFF<span class='macro_popup'>1</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="139"><td class="num" id="LN139">139</td><td class="line"> style = GS_AUTH_MESSAGE_PROMPT_ECHO_OFF;</td></tr>
+<tr class="codeline" data-linenumber="140"><td class="num" id="LN140">140</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="141"><td class="num" id="LN141">141</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>PAM_ERROR_MSG<span class='macro_popup'>3</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="142"><td class="num" id="LN142">142</td><td class="line"> style = GS_AUTH_MESSAGE_ERROR_MSG;</td></tr>
+<tr class="codeline" data-linenumber="143"><td class="num" id="LN143">143</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="144"><td class="num" id="LN144">144</td><td class="line"> <span class='keyword'>case</span> <span class='macro'>PAM_TEXT_INFO<span class='macro_popup'>4</span></span>:</td></tr>
+<tr class="codeline" data-linenumber="145"><td class="num" id="LN145">145</td><td class="line"> style = GS_AUTH_MESSAGE_TEXT_INFO;</td></tr>
+<tr class="codeline" data-linenumber="146"><td class="num" id="LN146">146</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="147"><td class="num" id="LN147">147</td><td class="line"> <span class='keyword'>default</span>:</td></tr>
+<tr class="codeline" data-linenumber="148"><td class="num" id="LN148">148</td><td class="line"> <span class='macro'>g_assert_not_reached ()<span class='macro_popup'>do { (void) 0; __builtin_unreachable (); } while (0)</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="149"><td class="num" id="LN149">149</td><td class="line"> <span class='keyword'>break</span>;</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"> </td></tr>
+<tr class="codeline" data-linenumber="152"><td class="num" id="LN152">152</td><td class="line"> <span class='keyword'>return</span> style;</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='keyword'>static</span> gboolean</td></tr>
+<tr class="codeline" data-linenumber="156"><td class="num" id="LN156">156</td><td class="line">auth_message_handler (GSAuthMessageStyle style,</td></tr>
+<tr class="codeline" data-linenumber="157"><td class="num" id="LN157">157</td><td class="line"> <span class='keyword'>const</span> <span class='keyword'>char</span> *msg,</td></tr>
+<tr class="codeline" data-linenumber="158"><td class="num" id="LN158">158</td><td class="line"> <span class='keyword'>char</span> **response,</td></tr>
+<tr class="codeline" data-linenumber="159"><td class="num" id="LN159">159</td><td class="line"> gpointer data)</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"> gboolean ret;</td></tr>
+<tr class="codeline" data-linenumber="162"><td class="num" id="LN162">162</td><td class="line"> </td></tr>
+<tr class="codeline" data-linenumber="163"><td class="num" id="LN163">163</td><td class="line"> ret = <span class='macro'>TRUE<span class='macro_popup'>(!(0))</span></span>;</td></tr>
+<tr class="codeline" data-linenumber="164"><td class="num" id="LN164">164</td><td class="line"> *response = <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span>;</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='keyword'>switch</span> (style)</td></tr>
+<tr class="codeline" data-linenumber="167"><td class="num" id="LN167">167</td><td class="line"> {</td></tr>
+<tr class="codeline" data-linenumber="168"><td class="num" id="LN168">168</td><td class="line"> <span class='keyword'>case</span> GS_AUTH_MESSAGE_PROMPT_ECHO_ON:</td></tr>
+<tr class="codeline" data-linenumber="169"><td class="num" id="LN169">169</td><td class="line"> <span class='keyword'>break</span>;</td></tr>
+<tr class="codeline" data-linenumber="170"><td class="num" id="LN170">170</td><td class="line"> <span class='keyword'>case</span> GS_AUTH_MESSAGE_PROMPT_ECHO_OFF:</td></tr>
+<tr class="codeline" data-linenumber="171"><td class="num" id="LN171">171</td><td class="line"> <span class='keyword'>if</span> (msg != <span class='macro'>NULL<span class='macro_popup'>((void*)0)</span></span> &amp;&amp; g_str_has_prefix (msg, <span class='macro'>_(<span class='string_literal'>"Password:"</span>)<span class='macro_popup'>gettext ("Password:")</span></span>))</td></tr>
<