diff --git a/evm/stdfuns.c b/evm/stdfuns.c index ff297ab..a311a37 100644 --- a/evm/stdfuns.c +++ b/evm/stdfuns.c @@ -112,6 +112,17 @@ char* strCons(int h, char* str) { return buf; } +char* strrev(char* str) { + char* buf = EMALLOC((1+strlen(str))*sizeof(char)); + int x = strlen(str); + buf[x+1]='\0'; + int y = 0; + while(x>0) { + buf[y++] = str[--x]; + } + return buf; +} + char* append(char* x, char* y) { char* buf = EMALLOC((strlen(x)+strlen(y))*sizeof(char)); strcpy(buf,x); diff --git a/evm/stdfuns.h b/evm/stdfuns.h index 8d1ebd2..63abff7 100644 --- a/evm/stdfuns.h +++ b/evm/stdfuns.h @@ -65,6 +65,8 @@ int strIndex(char* str, int i); int strHead(char* str); char* strTail(char* str); char* strCons(int h, char* str); +char* strrev(char* str); + char* append(char* x, char* y); // Big integer arithmetic