summaryrefslogtreecommitdiff
path: root/rushs/evalexpr/my_atoi
diff options
context:
space:
mode:
Diffstat (limited to 'rushs/evalexpr/my_atoi')
-rw-r--r--rushs/evalexpr/my_atoi/my_atoi.c61
-rw-r--r--rushs/evalexpr/my_atoi/my_atoi.h8
2 files changed, 0 insertions, 69 deletions
diff --git a/rushs/evalexpr/my_atoi/my_atoi.c b/rushs/evalexpr/my_atoi/my_atoi.c
deleted file mode 100644
index ca185a5..0000000
--- a/rushs/evalexpr/my_atoi/my_atoi.c
+++ /dev/null
@@ -1,61 +0,0 @@
-#include "my_atoi.h"
-
-int my_atoi(const char *str)
-{
- int res = 0;
-
- // str error check
- if (str == NULL || *str == '0')
- {
- return 0;
- }
-
- // trim whitespaces
- for (; *str && *str == ' '; str++)
- {
- continue;
- }
-
- // move to end of str
- size_t l;
- for (l = 0; str[l]; l++)
- {
- continue;
- }
- l--;
-
- // prepare for calculations
- int factor = 1;
-
- // actual conversion of up to the second element of str (potential sign)
- for (; l > 0; l--)
- {
- char val = str[l];
- if (val < '0' || val > '9')
- {
- return 0;
- }
- val -= '0';
- res += val * factor;
-
- factor *= 10;
- }
-
- // l should be 0 by now
- if (str[l] == '-')
- {
- return -res;
- }
- else if (str[l] != '+')
- {
- int val = str[l];
- if (val < '0' || val > '9')
- {
- return 0;
- }
- val -= '0';
- return res + val * factor;
- }
-
- return res;
-}
diff --git a/rushs/evalexpr/my_atoi/my_atoi.h b/rushs/evalexpr/my_atoi/my_atoi.h
deleted file mode 100644
index b520d09..0000000
--- a/rushs/evalexpr/my_atoi/my_atoi.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef MY_ATOI_H
-#define MY_ATOI_H
-
-#include <stddef.h>
-
-int my_atoi(const char *str);
-
-#endif /* ! MY_ATOI_H */