From c30a8f75d0802665cbfdf17942fb9b0b237f1c2d Mon Sep 17 00:00:00 2001 From: shennetsind Date: Wed, 15 Aug 2012 12:21:23 +0000 Subject: [PATCH] Fixed bugreport:6446 credits to flaviojs, special thanks to Lelouch vi Britannia for the dump. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16638 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/script.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/map/script.c b/src/map/script.c index 50740cb9a7..e33e1c643d 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -13331,19 +13331,17 @@ BUILDIN_FUNC(charislower) //======================================================= // charat , //------------------------------------------------------- -BUILDIN_FUNC(charat) -{ +BUILDIN_FUNC(charat) { const char *str = script_getstr(st,2); int pos = script_getnum(st,3); - char *output; - - output = (char*)aMalloc(2*sizeof(char)); - output[0] = '\0'; - - if(str && pos >= 0 && (unsigned int)pos < strlen(str)) - sprintf(output, "%c", str[pos]); - - script_pushstr(st, output); + + if( pos >= 0 && (unsigned int)pos < strlen(str) ) { + char output[2]; + output[0] = str[pos]; + output[1] = '\0'; + script_pushstrcopy(st, output); + } else + script_pushconststr(st, ""); return 0; }