[Initng-svn] r4390 - initng/trunk/plugins/service_file
svn at initng.thinktux.net
svn at initng.thinktux.net
Wed Jun 7 12:49:44 CEST 2006
Author: jimmy
Date: Wed Jun 7 12:49:43 2006
New Revision: 4390
Modified:
initng/trunk/plugins/service_file/initng_service_file.c
Log:
Add NAME env.
Modified: initng/trunk/plugins/service_file/initng_service_file.c
==============================================================================
--- initng/trunk/plugins/service_file/initng_service_file.c (original)
+++ initng/trunk/plugins/service_file/initng_service_file.c Wed Jun 7 12:49:43 2006
@@ -788,22 +788,30 @@
if (initng_fork(new_active, process) == 0)
{
char *new_argv[3];
- char *new_env[3];
+ char *new_env[4];
new_argv[0] = file;
new_argv[1] = i_strdup("internal_setup");
new_argv[2] = NULL;
- /* SERVICE=name */
+ /* SERVICE=getty/tty1 */
new_env[0] = i_calloc(strlen(name) + 20, sizeof(char));
strcpy(new_env[0], "SERVICE=");
strcat(new_env[0], name);
- /* SERVICE_FILE=file */
+ /* SERVICE_FILE=/etc/init/getty */
new_env[1] = i_calloc(strlen(file) + 20, sizeof(char));
strcpy(new_env[1], "SERVICE_FILE=");
strcat(new_env[1], name);
- new_env[2]=NULL;
+ /* NAME=tty1 */
+ {
+ char * tmp = strrchr(name, '/') + 1;
+ new_env[2] = i_calloc(strlen(tmp ? tmp : name) + 20, sizeof(char));
+ strcpy(new_env[2], "NAME=");
+ strcat(new_env[2], tmp ? tmp : name);
+ }
+
+ new_env[3]=NULL;
execve(new_argv[0], new_argv, new_env);
_exit(10);
}
More information about the Initng-svn
mailing list