-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexit_simShell.c
More file actions
43 lines (37 loc) · 904 Bytes
/
exit_simShell.c
File metadata and controls
43 lines (37 loc) · 904 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "shell.h"
/**
* exit_free_ - it frees up the command before exit
* @inp_cmd: user command input
* @env_var: the environment variable llinked list
*/
void exit_free_(char **inp_cmd, list_t *env_var)
{
release_ptr(inp_cmd);
release_list(env_var);
exit(0);
}
/**
* exit_simShell - exits the shell program with an integer value
* @inp_cmd: user input command
* @env_var: environment var to free if an error is encountered
* @cmd_line_numb: command line input
* @free_cmd: command to free
* Return: 0 if successful 3 if it fails
*/
int exit_simShell(char **inp_cmd, list_t *env_var,
int cmd_line_numb, char **free_cmd)
{
int exit_val = 0;
if (inp_cmd[1] != NULL)
exit_val = _atoi(inp_cmd[1]);
if (exit_val == -1)
{
_exit_error_msg(inp_cmd[1], cmd_line_numb, env_var);
release_ptr(inp_cmd);
return (3);
}
release_ptr(inp_cmd);
release_list(env_var);
release_ptr(free_cmd);
exit(exit_val);
}