From 4692fba7e5449aa66ae4335feea71a90b204b34f Mon Sep 17 00:00:00 2001 From: farisawan-2000 Date: Tue, 15 Dec 2020 21:21:02 -0500 Subject: [PATCH] reverted atoi --- s2d_parse.c | 2 +- s2d_ustdlib.c | 18 +++++++++++++++++- x86_testing_ground/a.out | Bin 0 -> 17272 bytes x86_testing_ground/atoi.c | 34 +++++++++++++++++++++++++++++----- 4 files changed, 47 insertions(+), 7 deletions(-) create mode 100755 x86_testing_ground/a.out diff --git a/s2d_parse.c b/s2d_parse.c index 94a23bd4..bd63ea0f 100644 --- a/s2d_parse.c +++ b/s2d_parse.c @@ -66,7 +66,7 @@ void s2d_print(int x, int y, const char *str, uObjMtx *buf) { } while (*p != '\0'); myScale = 1; myDegrees = 0; - saved_degrees = 0; + // saved_degrees = 0; tx = 0; ty = 0; } diff --git a/s2d_ustdlib.c b/s2d_ustdlib.c index 183c0e7b..619957ec 100644 --- a/s2d_ustdlib.c +++ b/s2d_ustdlib.c @@ -1,6 +1,23 @@ // ustdlib means un-standard library // i'm going to abuse so much of my power here lol +// int s2d_atoi(char *s, char **s2) { +// int ret = 0; +// int isNegative = (*s == '-'); +// if (isNegative) { +// s++; +// (*s2)++; +// } +// while (*s != '\0' && *s != ' ' && *s >= '0' && *s <= '9') { +// ret *= 10; +// ret += *s - '0'; +// s++; +// (*s2)++; +// } +// if (isNegative) ret *= -1; +// return ret; +// } + int s2d_atoi(char *s, char **s2) { int ret = 0; int isNegative = (*s == '-'); @@ -16,7 +33,6 @@ int s2d_atoi(char *s, char **s2) { if (!(*(s+1) != '\0' && *(s+1) != ' ' && *(s+1) >= '0' && *(s+1) <= '9')) break; (*s2)++; } - // (*s2)--; if (isNegative) ret *= -1; return ret; } diff --git a/x86_testing_ground/a.out b/x86_testing_ground/a.out new file mode 100755 index 0000000000000000000000000000000000000000..2170664a3b48ca5ac3ac0f6985e1be38909e56b6 GIT binary patch literal 17272 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 literal 0 HcmV?d00001 diff --git a/x86_testing_ground/atoi.c b/x86_testing_ground/atoi.c index 48fee781..c853b04f 100644 --- a/x86_testing_ground/atoi.c +++ b/x86_testing_ground/atoi.c @@ -13,6 +13,9 @@ // if (isNegative) ret *= -1; // return ret; // } +#include +#include +#include #define SCALE "\x80" // SCALE (some scale) #define ROTATE "\x81" // ROTATE (degrees) // TODO: maybe add axis? #define TRANSLATE "\x82" // TRANSLATE (x) (y) @@ -119,6 +122,25 @@ int s2d_ilen(char *s) { } return ret; } + +int s2d_atoi2(char *s) { + int ret = 0; + int isNegative = (*s == '-'); + if (isNegative) { + s++; + } + for (; *s != '\0' && *s != ' ' && *s >= '0' && *s <= '9'; s++) { + ret *= 10; + if (*s >= '0' && *s <= '9') + ret += *s - '0'; + else break; + if (!(*(s+1) != '\0' && *(s+1) != ' ' && *(s+1) >= '0' && *(s+1) <= '9')) break; + } + // (*s2)--; + if (isNegative) ret *= -1; + return ret; +} + void s2d_type_print(int x, int y, char *str, int *pos) { char *temp_str = str; char tmp = temp_str[*pos]; @@ -134,7 +156,9 @@ void s2d_type_print(int x, int y, char *str, int *pos) { (*pos) += s2d_ilen(str + *pos+2) + 1; break; case CH_ROT: - (*pos) += 2; + printf("ROTATE %s %d\n", str + *pos + 1, s2d_ilen(str + *pos + 1)); + (*pos) += s2d_ilen(str + *pos + 2); + break; } // temp_str[*pos] = '\0'; // s2d_print(x, y, temp_str); @@ -145,6 +169,7 @@ void s2d_type_print(int x, int y, char *str, int *pos) { if (*pos < len) (*pos)++; // } + printf("%d %c\n", *pos, str[*pos]); } @@ -153,10 +178,10 @@ char sss[] = SCALE "2"; // "big chungus"; char myS[] = "small test" - SCALE "2" + ROTATE "2" "big test" - SCALE "0001" - "small chungus"; + ROTATE "26" + "italic chungus"; int pos; int main(void) { @@ -165,7 +190,6 @@ int main(void) { // s2d_print(0,0, t); while (pos != strlen(myS)) { s2d_type_print(0, 0, myS, &pos); - printf("%d %c\n", pos, myS[pos]); } // printf("%d\n", s2d_ilen(sss + 1)); } \ No newline at end of file