chiark / gitweb /
udev: net_id - handle "bcma" buses
[elogind.git] / src / core / service.c
index 7eaac0dc4cb7e9f4437cdaca5282be9be280e3c6..ebd0baea8961b84ddaa5073e9efa714d12a70966 100644 (file)
@@ -322,7 +322,8 @@ static void service_done(Unit *u) {
 static char *sysv_translate_name(const char *name) {
         char *r;
 
-        if (!(r = new(char, strlen(name) + sizeof(".service"))))
+        r = new(char, strlen(name) + sizeof(".service"));
+        if (!r)
                 return NULL;
 
         if (endswith(name, ".sh"))
@@ -348,24 +349,13 @@ static int sysv_translate_facility(const char *name, const char *filename, char
 
         static const char * const table[] = {
                 /* LSB defined facilities */
-                "local_fs",             SPECIAL_LOCAL_FS_TARGET,
-                /* Due to unfortunate name selection in Mandriva,
-                 * $network is provided by network-up which is ordered
-                 * after network which actually starts interfaces.
-                 * To break the loop, just ignore it */
+                "local_fs",             NULL,
                 "network",              SPECIAL_NETWORK_TARGET,
                 "named",                SPECIAL_NSS_LOOKUP_TARGET,
                 "portmap",              SPECIAL_RPCBIND_TARGET,
                 "remote_fs",            SPECIAL_REMOTE_FS_TARGET,
-                "syslog",               SPECIAL_SYSLOG_TARGET,
+                "syslog",               NULL,
                 "time",                 SPECIAL_TIME_SYNC_TARGET,
-
-                /* common extensions */
-                "mail-transfer-agent",  SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
-                "x-display-manager",    SPECIAL_DISPLAY_MANAGER_SERVICE,
-                "null",                 NULL,
-                "mail-transport-agent", SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
-                "smtp",                 SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
         };
 
         unsigned i;
@@ -385,8 +375,9 @@ static int sysv_translate_facility(const char *name, const char *filename, char
                 if (!table[i+1])
                         return 0;
 
-                if (!(r = strdup(table[i+1])))
-                        return -ENOMEM;
+                r = strdup(table[i+1]);
+                if (!r)
+                        return log_oom();
 
                 goto finish;
         }
@@ -815,7 +806,6 @@ static int service_load_sysv_path(Service *s, const char *path) {
                                         }
 
                                         r = sysv_translate_facility(n, path_get_file_name(path), &m);
-
                                         if (r < 0) {
                                                 log_error_unit(u->id,
                                                                "[%s:%u] Failed to translate LSB dependency %s, ignoring: %s",