chiark / gitweb /
Merge pull request #5 from elogind/dev_v227
[elogind.git] / src / shared / sleep-config.c
index e6157f0e948438775c08b43974a28e20cb2261b8..3dedbd1f6269db89a72569a466b9ce7a4296300d 100644 (file)
@@ -48,9 +48,10 @@ int parse_sleep_config(const char *verb, char ***_modes, char ***_states) {
                 {}
         };
 
                 {}
         };
 
-        config_parse(NULL, PKGSYSCONFDIR "/sleep.conf", NULL,
-                     "Sleep\0",
-                     config_item_table_lookup, items, false, false, true, NULL);
+        config_parse_many(PKGSYSCONFDIR "/sleep.conf",
+                          CONF_DIRS_NULSTR("systemd/sleep.conf"),
+                          "Sleep\0", config_item_table_lookup, items,
+                          false, NULL);
 
         if (streq(verb, "suspend")) {
                 /* empty by default */
 
         if (streq(verb, "suspend")) {
                 /* empty by default */
@@ -166,7 +167,7 @@ int can_sleep_disk(char **types) {
 
 static int hibernation_partition_size(size_t *size, size_t *used) {
         _cleanup_fclose_ FILE *f;
 
 static int hibernation_partition_size(size_t *size, size_t *used) {
         _cleanup_fclose_ FILE *f;
-        int i;
+        unsigned i;
 
         assert(size);
         assert(used);
 
         assert(size);
         assert(used);
@@ -189,8 +190,8 @@ static int hibernation_partition_size(size_t *size, size_t *used) {
                 k = fscanf(f,
                            "%ms "   /* device/file */
                            "%ms "   /* type of swap */
                 k = fscanf(f,
                            "%ms "   /* device/file */
                            "%ms "   /* type of swap */
-                           "%zd "   /* swap size */
-                           "%zd "   /* used */
+                           "%zu "   /* swap size */
+                           "%zu "   /* used */
                            "%*i\n", /* priority */
                            &dev, &type, &size_field, &used_field);
                 if (k != 4) {
                            "%*i\n", /* priority */
                            &dev, &type, &size_field, &used_field);
                 if (k != 4) {
@@ -225,7 +226,7 @@ static bool enough_memory_for_hibernation(void) {
         if (r < 0)
                 return false;
 
         if (r < 0)
                 return false;
 
-        r = get_status_field("/proc/meminfo", "\nActive(anon):", &active);
+        r = get_proc_field("/proc/meminfo", "Active(anon)", WHITESPACE, &active);
         if (r < 0) {
                 log_error_errno(r, "Failed to retrieve Active(anon) from /proc/meminfo: %m");
                 return false;
         if (r < 0) {
                 log_error_errno(r, "Failed to retrieve Active(anon) from /proc/meminfo: %m");
                 return false;
@@ -233,8 +234,8 @@ static bool enough_memory_for_hibernation(void) {
 
         r = safe_atollu(active, &act);
         if (r < 0) {
 
         r = safe_atollu(active, &act);
         if (r < 0) {
-                log_error("Failed to parse Active(anon) from /proc/meminfo: %s: %s",
-                          active, strerror(-r));
+                log_error_errno(r, "Failed to parse Active(anon) from /proc/meminfo: %s: %m",
+                                active);
                 return false;
         }
 
                 return false;
         }