blob: 943c22f9c66046e8aa710badfc70e7ca6e29f2b5 (
plain)
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
|
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "builtins.h"
int my_exit(struct string **args)
{
unsigned int res = 0;
if (args[0] != NULL)
{
char *c;
long status = strtol(args[0]->data, &c, 10);
if (*c != '\0' || status < 0 || status > 255)
{
fprintf(stderr, "exit: %s: numeric argument required\n",
args[0]->data);
res = 2;
}
else
{
res = (unsigned int)status;
}
}
fflush(stdout);
exit(res);
}
|