Ver código fonte

Error managment

isundil 10 anos atrás
pai
commit
012920789e
3 arquivos alterados com 7 adições e 2 exclusões
  1. 2 1
      src/environment.c
  2. 4 1
      src/exec.c
  3. 1 0
      test/open/main.c

+ 2 - 1
src/environment.c

@@ -10,6 +10,7 @@ int init_env(t_param *params)
 {
 	char * path = params->tmppath = (char *) malloc(sizeof(*path) * (strlen(params->tmpdir) + 24));
 
+	/* TODO check if prog name exists */
 	sprintf(path, "%s/sandbox_%ld:%d", params->tmpdir, time(NULL), getpid());
 	if (mkdir(path, 0) == -1)
 	{
@@ -22,7 +23,7 @@ int init_env(t_param *params)
 void release_env(t_param *params)
 {
 	rmdir(params->tmppath);
-	/* TODO remove files */
+
 	free(params->tmppath);
 	free(params);
 }

+ 4 - 1
src/exec.c

@@ -1,10 +1,13 @@
+#include <string.h>
+#include <stdio.h>
+#include <errno.h>
 #include "sandbox.h"
 
 void doExec(int pid_parent, const t_param *params)
 {
 	char **argv = (char **)params->cmd;
 
-	//TODO check return value
 	execvp(argv[0], argv);
+	fprintf(stderr, "Error: %s\n", strerror(errno));
 }
 

+ 1 - 0
test/open/main.c

@@ -32,6 +32,7 @@ int main(int ac, char **av)
 		exit(EXIT_FAILURE);
 	}
 	cleanup();
+	printf("Success\n");
 	exit(EXIT_SUCCESS);
 }