env.c
changeset 13 dbb001e9f800
parent 12 14cd74b518ea
child 14 61d94594e8fb
equal deleted inserted replaced
12:14cd74b518ea 13:dbb001e9f800
    37 
    37 
    38 #define DESCRIPTION ( "Some debugging routines\nProvides commands /env and /cd" )
    38 #define DESCRIPTION ( "Some debugging routines\nProvides commands /env and /cd" )
    39 
    39 
    40 static module_info_t info_env_experimental = {
    40 static module_info_t info_env_experimental = {
    41 	.branch      = "experimental",
    41 	.branch      = "experimental",
    42 	.api         = 5,
    42 	.api         = 10,
    43 	.version     = PROJECT_VERSION,
    43 	.version     = PROJECT_VERSION,
    44 	.description = DESCRIPTION,
    44 	.description = DESCRIPTION,
    45 	.requires    = NULL,
    45 	.requires    = NULL,
    46 	.init        = env_load,
    46 	.init        = env_load,
    47 	.uninit      = env_unload,
    47 	.uninit      = env_unload,
    48 	.next        = &info_env_experimental,
    48 	.next        = &info_env_experimental,
    49 };
    49 };
    50 
    50 
    51 module_info_t info_env = {
    51 module_info_t info_env = {
    52 	.branch      = "dev",
    52 	.branch      = "dev",
    53 	.api         = 4,
    53 	.api         = 11,
    54 	.version     = PROJECT_VERSION,
    54 	.version     = PROJECT_VERSION,
    55 	.description = DESCRIPTION,
    55 	.description = DESCRIPTION,
    56 	.requires    = NULL,
    56 	.requires    = NULL,
    57 	.init        = env_load,
    57 	.init        = env_load,
    58 	.uninit      = env_unload,
    58 	.uninit      = env_unload,
    95 
    95 
    96 			for (eel = vars; eel; eel = eel->next) {
    96 			for (eel = vars; eel; eel = eel->next) {
    97 				char *name  = (char *) eel->data;
    97 				char *name  = (char *) eel->data;
    98 				char *value = getenv (name);
    98 				char *value = getenv (name);
    99 
    99 
   100 				scr_LogPrint (LPRINT_NORMAL, format, name, value);
   100 				scr_log_print (LPRINT_NORMAL, format, name, value);
   101 
   101 
   102 				g_free (name);
   102 				g_free (name);
   103 			}
   103 			}
   104 
   104 
   105 			g_free (format);
   105 			g_free (format);
   114 		if (!varend) {
   114 		if (!varend) {
   115 			// print variable alone
   115 			// print variable alone
   116 			char *value = getenv (arg);
   116 			char *value = getenv (arg);
   117 
   117 
   118 			if (value)
   118 			if (value)
   119 				scr_LogPrint (LPRINT_NORMAL, "Env %s = %s", arg, value);
   119 				scr_log_print (LPRINT_NORMAL, "Env %s = %s", arg, value);
   120 
   120 
   121 		} else if (varend == arg)
   121 		} else if (varend == arg)
   122 
   122 
   123 				scr_LogPrint (LPRINT_NORMAL, "You must specify variable name.");
   123 				scr_log_print (LPRINT_NORMAL, "You must specify variable name.");
   124 
   124 
   125 		else {
   125 		else {
   126 
   126 
   127 			char *argstart = varend + 1;
   127 			char *argstart = varend + 1;
   128 			char *var;
   128 			char *var;
   150 static void do_cd (char *arg)
   150 static void do_cd (char *arg)
   151 {
   151 {
   152 	if (!*arg) { // get
   152 	if (!*arg) { // get
   153 		char cwd[256];
   153 		char cwd[256];
   154 		if (getcwd (cwd, 256) == NULL)
   154 		if (getcwd (cwd, 256) == NULL)
   155 			scr_LogPrint (LPRINT_NORMAL, "Cannot obtain current working directory: %s.", strerror (errno));
   155 			scr_log_print (LPRINT_NORMAL, "Cannot obtain current working directory: %s.", strerror (errno));
   156 		else
   156 		else
   157 			scr_LogPrint (LPRINT_NORMAL, "%s", cwd);
   157 			scr_log_print (LPRINT_NORMAL, "%s", cwd);
   158 	} else if (chdir (arg) == -1) // set
   158 	} else if (chdir (arg) == -1) // set
   159 		scr_LogPrint (LPRINT_NORMAL, "Cannot change current working directory: %s.", strerror (errno));
   159 		scr_log_print (LPRINT_NORMAL, "Cannot change current working directory: %s.", strerror (errno));
   160 }
   160 }
   161 
   161 
   162 static void env_load (void)
   162 static void env_load (void)
   163 {
   163 {
   164 	// command
   164 	// command