robert ecae7c4df4 Help programs using unveil(2) by fixing and modyfing the code of
glib by doing the following:

- Modify the g_mkdir_with_parents() function so that it will try to
  create the specified path directly and if g_mkdir() fails, it will
  fall back to walking the path one by one.

- In case of walking the path one by one, ignore ENOENT for all path
  elements except for the last one, because g_mkdir_with_parents()
  will fail with programs using unveil(2) (with statlie removed).
  Ignoring ENOENT is completely fine because we really only care about
  the last element of the path and this modification will also have the
  benefit of avoiding useless stat calls

- My initial tests show that by just firing up a simple file dialog
  this modification saves an average of 110 system calls, now imagine
  running GNOME or Chrome with that. Each and every program using glib's
  g_mkdir_with_parents() before opening the needed files (most do this)
  will benefit from this.

- Check if the XDG directories actually exist before adding them to the
  list used by file dialogs.
  This is also useful if you are not running a complete desktop environment
  and you simply do not have these directories.

ok ajacoutot@
2019-02-19 14:53:17 +00:00
..
2017-10-15 13:02:07 +00:00
2017-11-08 00:15:21 +00:00
2017-11-07 21:57:15 +00:00
2018-04-26 12:57:23 +00:00
2018-09-23 15:24:22 +00:00
2018-05-18 02:49:29 +00:00
2019-01-01 11:33:06 +00:00
2018-11-05 08:38:09 +00:00
2018-10-28 08:30:03 +00:00
2018-09-04 12:46:09 +00:00
2017-11-03 15:25:24 +00:00
2018-11-07 23:26:14 +00:00
2018-12-29 20:09:09 +00:00
2018-04-27 06:10:49 +00:00
2018-11-28 19:44:21 +00:00
2019-02-15 14:48:35 +00:00
2019-01-16 10:29:40 +00:00
2018-11-22 19:39:27 +00:00
2019-01-30 07:58:19 +00:00
2018-10-03 13:40:38 +00:00
2019-01-10 22:21:17 +00:00
2018-10-04 13:56:22 +00:00
2019-02-04 23:34:10 +00:00
2018-05-17 09:43:33 +00:00
2018-05-17 09:43:33 +00:00
2018-09-04 12:46:09 +00:00
2019-02-07 14:32:45 +00:00
2018-02-23 16:33:00 +00:00
2018-09-04 12:46:09 +00:00
2018-10-01 07:05:51 +00:00
2018-10-17 08:27:44 +00:00
2017-12-07 22:41:51 +00:00
2017-11-02 16:02:01 +00:00
2019-01-27 14:48:15 +00:00
2018-09-24 01:41:51 +00:00
2018-07-25 13:46:45 +00:00
2018-12-26 21:27:19 +00:00
2018-07-07 22:39:42 +00:00
2018-06-29 22:16:08 +00:00
2019-02-19 11:06:52 +00:00
2018-12-19 06:00:57 +00:00
2018-06-29 22:16:08 +00:00
2019-01-26 11:48:18 +00:00
2018-09-16 09:10:44 +00:00
2018-10-02 15:13:48 +00:00
2019-01-13 14:00:56 +00:00
2018-06-29 22:16:08 +00:00
2019-01-01 11:38:23 +00:00
2018-11-24 20:15:54 +00:00
2019-01-31 19:44:08 +00:00
2018-11-05 08:01:13 +00:00
2018-01-22 21:59:21 +00:00
2018-01-22 21:59:54 +00:00
2018-01-12 21:35:39 +00:00
2018-01-22 22:01:42 +00:00
2018-01-22 22:03:01 +00:00
2018-01-22 22:03:58 +00:00
2018-01-22 22:04:30 +00:00
2018-01-22 22:05:07 +00:00
2018-05-17 09:47:05 +00:00
2018-10-31 12:37:33 +00:00
2019-02-18 21:49:14 +00:00
2018-04-27 18:36:17 +00:00
2018-09-22 06:11:11 +00:00
2018-11-28 19:29:04 +00:00
2018-05-17 09:55:44 +00:00
2018-07-01 18:33:35 +00:00
2019-01-04 10:12:19 +00:00
2017-10-23 17:10:37 +00:00
2019-01-22 22:22:58 +00:00
2017-11-04 22:04:26 +00:00
2017-10-23 17:10:37 +00:00
2018-10-17 08:40:44 +00:00
2019-02-04 23:34:10 +00:00
2018-10-31 08:13:50 +00:00
2018-09-08 21:48:57 +00:00
2018-08-11 04:58:47 +00:00
2018-08-10 11:21:19 +00:00
2018-11-03 05:59:52 +00:00
2018-02-12 11:40:57 +00:00
2019-02-13 20:19:42 +00:00
2018-06-29 09:58:56 +00:00
2018-12-19 10:41:25 +00:00
2018-10-02 10:48:17 +00:00
2018-05-15 09:07:01 +00:00
2017-11-03 10:34:01 +00:00
2018-05-17 09:53:57 +00:00
2018-04-28 13:04:21 +00:00
2018-08-19 07:54:04 +00:00
2018-11-27 14:10:57 +00:00
2018-10-26 15:47:30 +00:00
2018-04-28 13:05:45 +00:00
2018-09-30 10:58:44 +00:00
2018-06-29 22:16:08 +00:00
2018-10-31 08:04:59 +00:00
2018-05-27 08:37:05 +00:00
2019-01-01 11:39:57 +00:00
2018-07-04 18:53:27 +00:00
2018-08-12 22:29:10 +00:00
2018-09-04 12:46:09 +00:00
2017-11-25 21:57:47 +00:00
2018-11-27 12:04:36 +00:00
2017-12-14 17:07:17 +00:00
2018-05-17 09:56:33 +00:00
2018-09-11 15:40:44 +00:00
2019-02-11 05:33:57 +00:00
2018-09-02 07:13:07 +00:00
2017-11-16 22:23:42 +00:00
2017-12-27 15:08:39 +00:00
2017-11-20 02:21:56 +00:00
2018-02-27 12:31:59 +00:00
2019-02-02 15:26:07 +00:00
2019-02-05 13:19:23 +00:00
2018-04-08 16:32:02 +00:00
2018-02-16 16:16:14 +00:00
2018-12-30 19:26:53 +00:00
2018-09-04 12:46:09 +00:00
2018-09-18 10:08:23 +00:00
2018-09-06 18:35:27 +00:00
2017-12-24 19:06:29 +00:00
2017-12-25 08:51:11 +00:00
2018-09-03 10:48:29 +00:00
2019-01-21 14:24:30 +00:00
2017-12-05 16:25:45 +00:00
2018-12-07 07:24:03 +00:00
2017-12-05 16:25:45 +00:00
2017-12-05 16:25:45 +00:00
2018-05-15 11:22:29 +00:00
2018-11-11 23:25:40 +00:00
2018-01-22 07:30:26 +00:00
2017-12-02 11:34:17 +00:00
2017-12-05 16:25:45 +00:00
2019-01-05 10:50:38 +00:00
2018-04-28 13:53:21 +00:00
2017-11-03 11:45:17 +00:00
2017-11-02 17:51:10 +00:00
2017-12-05 16:25:45 +00:00
2017-12-05 16:25:45 +00:00
2018-03-05 22:00:30 +00:00
2018-10-24 17:37:39 +00:00
2018-04-28 13:58:36 +00:00
2017-12-02 11:34:17 +00:00
2018-04-28 14:00:04 +00:00
2019-01-14 21:25:44 +00:00
2018-10-28 03:11:58 +00:00
2017-12-05 16:25:45 +00:00
2017-12-05 16:25:45 +00:00
2019-01-25 22:14:09 +00:00
2018-04-28 14:10:09 +00:00
2017-10-20 13:35:41 +00:00
2018-11-12 15:55:19 +00:00
2017-12-05 16:25:45 +00:00
2017-10-31 22:08:32 +00:00
2017-12-04 21:09:38 +00:00
2018-06-12 23:44:38 +00:00
2019-02-18 12:52:57 +00:00
2017-12-05 16:25:45 +00:00
2017-12-05 16:25:45 +00:00
2017-12-05 16:25:45 +00:00
2017-12-05 16:25:45 +00:00
2017-12-05 16:25:45 +00:00
2019-01-05 10:38:03 +00:00
2017-12-05 16:25:45 +00:00
2017-12-05 16:25:45 +00:00
2017-12-07 13:12:44 +00:00
2018-10-24 21:56:24 +00:00
2019-02-14 12:26:57 +00:00
2018-10-24 18:16:30 +00:00
2018-11-05 17:20:11 +00:00
2018-03-11 22:34:40 +00:00
2019-01-02 12:44:06 +00:00
2018-10-16 13:10:43 +00:00
2018-07-30 17:40:39 +00:00
2018-09-17 23:33:15 +00:00
2019-01-06 10:36:38 +00:00
2018-05-30 09:15:10 +00:00
2018-02-17 09:36:36 +00:00
2018-03-30 13:53:31 +00:00
2017-10-24 05:53:09 +00:00
2017-12-08 12:29:46 +00:00
2018-04-28 10:41:38 +00:00
2018-04-07 12:51:35 +00:00
2018-04-25 13:28:16 +00:00
2018-08-11 09:26:32 +00:00
2018-07-16 07:13:00 +00:00
2018-04-24 16:59:43 +00:00
2018-12-20 02:23:06 +00:00
2018-05-31 05:51:57 +00:00
2019-01-04 15:30:43 +00:00
2018-05-31 07:41:09 +00:00
2018-10-19 13:59:59 +00:00
2018-05-15 07:58:25 +00:00
2018-04-25 19:54:59 +00:00
2018-04-25 19:57:54 +00:00
2017-12-10 16:12:51 +00:00
2019-01-01 11:37:27 +00:00
2019-01-13 09:54:56 +00:00
2018-12-19 13:51:02 +00:00
2018-12-19 13:51:02 +00:00
2018-12-19 13:51:02 +00:00
2018-01-13 20:12:47 +00:00
2018-04-07 12:50:58 +00:00
2018-09-22 08:26:00 +00:00
2018-10-18 14:08:52 +00:00
2018-11-27 13:52:08 +00:00
2017-11-10 11:03:39 +00:00
2018-02-25 13:13:05 +00:00
2018-09-30 06:06:52 +00:00
2018-12-19 23:50:42 +00:00
2019-01-22 11:18:53 +00:00
2018-04-04 20:04:56 +00:00
2018-04-28 10:46:35 +00:00
2018-04-25 09:44:48 +00:00
2018-11-10 21:00:16 +00:00
2018-05-09 10:05:54 +00:00
2018-04-28 10:41:04 +00:00
2018-10-17 16:10:42 +00:00
2017-11-29 21:04:38 +00:00
2018-04-28 10:44:26 +00:00
2018-04-25 19:54:42 +00:00
2018-04-28 10:47:05 +00:00
2018-06-23 17:33:04 +00:00
2018-04-27 15:14:47 +00:00
2018-11-12 19:39:12 +00:00
2018-02-06 19:51:50 +00:00
2018-04-26 14:14:48 +00:00
2019-02-14 22:34:18 +00:00
2018-02-24 00:11:43 +00:00
2019-02-19 08:06:02 +00:00
2019-02-19 08:18:14 +00:00
2019-02-09 05:53:53 +00:00
2018-04-03 21:14:30 +00:00
2018-12-27 19:14:15 +00:00
2018-04-01 09:27:43 +00:00
2018-10-20 17:31:24 +00:00
2018-03-30 04:47:59 +00:00
2018-12-08 15:08:58 +00:00
2017-11-17 15:20:00 +00:00
2019-02-12 21:57:34 +00:00
2019-01-02 12:44:06 +00:00
2018-07-09 07:51:05 +00:00
2019-01-28 20:44:21 +00:00
2018-05-15 07:28:15 +00:00
2018-11-08 09:21:51 +00:00
2017-11-05 17:24:48 +00:00
2018-02-26 08:42:14 +00:00
2017-11-05 17:27:20 +00:00
2018-11-07 16:26:17 +00:00
2019-02-07 09:45:09 +00:00
2018-02-26 08:44:46 +00:00
2017-11-14 17:07:00 +00:00
2018-06-04 01:47:30 +00:00
2018-12-28 16:35:51 +00:00
2018-04-27 15:43:20 +00:00
2018-06-27 21:03:34 +00:00
2019-01-08 18:17:27 +00:00
2019-01-11 18:43:39 +00:00
2018-06-16 15:52:46 +00:00
2018-04-28 14:24:13 +00:00
2017-12-25 04:35:29 +00:00
2018-07-28 09:01:10 +00:00
2018-06-12 23:46:26 +00:00
2018-12-11 18:19:22 +00:00
2019-01-03 10:14:09 +00:00
2019-02-04 23:34:10 +00:00
2017-11-12 15:49:45 +00:00
2019-01-06 12:15:50 +00:00
2019-02-04 09:42:01 +00:00
2019-01-05 10:10:32 +00:00
2019-02-18 13:05:07 +00:00