(svn r26774) -Cleanup [Squirrel]: remove _SC macro

This commit is contained in:
rubidium
2014-09-06 17:46:56 +00:00
parent c96026cd1f
commit 33ab505567
34 changed files with 902 additions and 903 deletions

View File

@@ -16,30 +16,30 @@ void sqstd_printcallstack(HSQUIRRELVM v)
SQInteger level=1; //1 is to skip this function that is level 0
const SQChar *name=0;
SQInteger seq=0;
pf(v,_SC("\nCALLSTACK\n"));
pf(v,"\nCALLSTACK\n");
while(SQ_SUCCEEDED(sq_stackinfos(v,level,&si)))
{
const SQChar *fn=_SC("unknown");
const SQChar *src=_SC("unknown");
const SQChar *fn="unknown";
const SQChar *src="unknown";
if(si.funcname)fn=si.funcname;
if(si.source) {
/* We don't want to bother users with absolute paths to all AI files.
* Since the path only reaches NoAI code in a formatted string we have
* to strip it here. Let's hope nobody installs openttd in a subdirectory
* of a directory named /ai/. */
src = scstrstr(si.source, _SC("\\ai\\"));
if (!src) src = scstrstr(si.source, _SC("/ai/"));
src = scstrstr(si.source, "\\ai\\");
if (!src) src = scstrstr(si.source, "/ai/");
if (src) {
src += 4;
} else {
src = si.source;
}
}
pf(v,_SC("*FUNCTION [%s()] %s line [%d]\n"),fn,src,si.line);
pf(v,"*FUNCTION [%s()] %s line [%d]\n",fn,src,si.line);
level++;
}
level=0;
pf(v,_SC("\nLOCALS\n"));
pf(v,"\nLOCALS\n");
for(level=0;level<10;level++){
seq=0;
@@ -49,56 +49,56 @@ void sqstd_printcallstack(HSQUIRRELVM v)
switch(sq_gettype(v,-1))
{
case OT_NULL:
pf(v,_SC("[%s] NULL\n"),name);
pf(v,"[%s] NULL\n",name);
break;
case OT_INTEGER:
sq_getinteger(v,-1,&i);
pf(v,_SC("[%s] %d\n"),name,i);
pf(v,"[%s] %d\n",name,i);
break;
case OT_FLOAT:
sq_getfloat(v,-1,&f);
pf(v,_SC("[%s] %.14g\n"),name,f);
pf(v,"[%s] %.14g\n",name,f);
break;
case OT_USERPOINTER:
pf(v,_SC("[%s] USERPOINTER\n"),name);
pf(v,"[%s] USERPOINTER\n",name);
break;
case OT_STRING:
sq_getstring(v,-1,&s);
pf(v,_SC("[%s] \"%s\"\n"),name,s);
pf(v,"[%s] \"%s\"\n",name,s);
break;
case OT_TABLE:
pf(v,_SC("[%s] TABLE\n"),name);
pf(v,"[%s] TABLE\n",name);
break;
case OT_ARRAY:
pf(v,_SC("[%s] ARRAY\n"),name);
pf(v,"[%s] ARRAY\n",name);
break;
case OT_CLOSURE:
pf(v,_SC("[%s] CLOSURE\n"),name);
pf(v,"[%s] CLOSURE\n",name);
break;
case OT_NATIVECLOSURE:
pf(v,_SC("[%s] NATIVECLOSURE\n"),name);
pf(v,"[%s] NATIVECLOSURE\n",name);
break;
case OT_GENERATOR:
pf(v,_SC("[%s] GENERATOR\n"),name);
pf(v,"[%s] GENERATOR\n",name);
break;
case OT_USERDATA:
pf(v,_SC("[%s] USERDATA\n"),name);
pf(v,"[%s] USERDATA\n",name);
break;
case OT_THREAD:
pf(v,_SC("[%s] THREAD\n"),name);
pf(v,"[%s] THREAD\n",name);
break;
case OT_CLASS:
pf(v,_SC("[%s] CLASS\n"),name);
pf(v,"[%s] CLASS\n",name);
break;
case OT_INSTANCE:
pf(v,_SC("[%s] INSTANCE\n"),name);
pf(v,"[%s] INSTANCE\n",name);
break;
case OT_WEAKREF:
pf(v,_SC("[%s] WEAKREF\n"),name);
pf(v,"[%s] WEAKREF\n",name);
break;
case OT_BOOL:{
sq_getbool(v,-1,&b);
pf(v,_SC("[%s] %s\n"),name,b?_SC("true"):_SC("false"));
pf(v,"[%s] %s\n",name,b?"true":"false");
}
break;
default: assert(0); break;
@@ -116,10 +116,10 @@ static SQInteger _sqstd_aux_printerror(HSQUIRRELVM v)
const SQChar *sErr = 0;
if(sq_gettop(v)>=1) {
if(SQ_SUCCEEDED(sq_getstring(v,2,&sErr))) {
pf(v,_SC("\nAN ERROR HAS OCCURED [%s]\n"),sErr);
pf(v,"\nAN ERROR HAS OCCURED [%s]\n",sErr);
}
else{
pf(v,_SC("\nAN ERROR HAS OCCURED [unknown]\n"));
pf(v,"\nAN ERROR HAS OCCURED [unknown]\n");
}
sqstd_printcallstack(v);
}
@@ -131,7 +131,7 @@ void _sqstd_compiler_error(HSQUIRRELVM v,const SQChar *sErr,const SQChar *sSourc
{
SQPRINTFUNCTION pf = sq_getprintfunc(v);
if(pf) {
pf(v,_SC("%s line = (%d) column = (%d) : error %s\n"),sSource,line,column,sErr);
pf(v,"%s line = (%d) column = (%d) : error %s\n",sSource,line,column,sErr);
}
}

View File

@@ -24,7 +24,7 @@ static SQInteger _blob_resize(HSQUIRRELVM v)
SQInteger size;
sq_getinteger(v,2,&size);
if(!self->Resize(size))
return sq_throwerror(v,_SC("resize failed"));
return sq_throwerror(v,"resize failed");
return 0;
}
@@ -70,7 +70,7 @@ static SQInteger _blob__set(HSQUIRRELVM v)
sq_getinteger(v,2,&idx);
sq_getinteger(v,3,&val);
if(idx < 0 || idx >= self->Len())
return sq_throwerror(v,_SC("index out of range"));
return sq_throwerror(v,"index out of range");
((unsigned char *)self->GetBuf())[idx] = (unsigned char) val;
sq_push(v,3);
return 1;
@@ -82,7 +82,7 @@ static SQInteger _blob__get(HSQUIRRELVM v)
SQInteger idx;
sq_getinteger(v,2,&idx);
if(idx < 0 || idx >= self->Len())
return sq_throwerror(v,_SC("index out of range"));
return sq_throwerror(v,"index out of range");
sq_pushinteger(v,((unsigned char *)self->GetBuf())[idx]);
return 1;
}
@@ -103,12 +103,12 @@ static SQInteger _blob__nexti(HSQUIRRELVM v)
sq_pushnull(v);
return 1;
}
return sq_throwerror(v,_SC("internal error (_nexti) wrong argument type"));
return sq_throwerror(v,"internal error (_nexti) wrong argument type");
}
static SQInteger _blob__typeof(HSQUIRRELVM v)
{
sq_pushstring(v,_SC("blob"),-1);
sq_pushstring(v,"blob",-1);
return 1;
}
@@ -126,26 +126,26 @@ static SQInteger _blob_constructor(HSQUIRRELVM v)
if(nparam == 2) {
sq_getinteger(v, 2, &size);
}
if(size < 0) return sq_throwerror(v, _SC("cannot create blob with negative size"));
if(size < 0) return sq_throwerror(v, "cannot create blob with negative size");
SQBlob *b = new SQBlob(size);
if(SQ_FAILED(sq_setinstanceup(v,1,b))) {
delete b;
return sq_throwerror(v, _SC("cannot create blob with negative size"));
return sq_throwerror(v, "cannot create blob with negative size");
}
sq_setreleasehook(v,1,_blob_releasehook);
return 0;
}
#define _DECL_BLOB_FUNC(name,nparams,typecheck) {_SC(#name),_blob_##name,nparams,typecheck}
#define _DECL_BLOB_FUNC(name,nparams,typecheck) {#name,_blob_##name,nparams,typecheck}
static SQRegFunction _blob_methods[] = {
_DECL_BLOB_FUNC(constructor,-1,_SC("xn")),
_DECL_BLOB_FUNC(resize,2,_SC("xn")),
_DECL_BLOB_FUNC(swap2,1,_SC("x")),
_DECL_BLOB_FUNC(swap4,1,_SC("x")),
_DECL_BLOB_FUNC(_set,3,_SC("xnn")),
_DECL_BLOB_FUNC(_get,2,_SC("xn")),
_DECL_BLOB_FUNC(_typeof,1,_SC("x")),
_DECL_BLOB_FUNC(_nexti,2,_SC("x")),
_DECL_BLOB_FUNC(constructor,-1,"xn"),
_DECL_BLOB_FUNC(resize,2,"xn"),
_DECL_BLOB_FUNC(swap2,1,"x"),
_DECL_BLOB_FUNC(swap4,1,"x"),
_DECL_BLOB_FUNC(_set,3,"xnn"),
_DECL_BLOB_FUNC(_get,2,"xn"),
_DECL_BLOB_FUNC(_typeof,1,"x"),
_DECL_BLOB_FUNC(_nexti,2,"x"),
{0,0,0,0}
};
@@ -197,13 +197,13 @@ static SQInteger _g_blob_swapfloat(HSQUIRRELVM v)
return 1;
}
#define _DECL_GLOBALBLOB_FUNC(name,nparams,typecheck) {_SC(#name),_g_blob_##name,nparams,typecheck}
#define _DECL_GLOBALBLOB_FUNC(name,nparams,typecheck) {#name,_g_blob_##name,nparams,typecheck}
static SQRegFunction bloblib_funcs[]={
_DECL_GLOBALBLOB_FUNC(casti2f,2,_SC(".n")),
_DECL_GLOBALBLOB_FUNC(castf2i,2,_SC(".n")),
_DECL_GLOBALBLOB_FUNC(swap2,2,_SC(".n")),
_DECL_GLOBALBLOB_FUNC(swap4,2,_SC(".n")),
_DECL_GLOBALBLOB_FUNC(swapfloat,2,_SC(".n")),
_DECL_GLOBALBLOB_FUNC(casti2f,2,".n"),
_DECL_GLOBALBLOB_FUNC(castf2i,2,".n"),
_DECL_GLOBALBLOB_FUNC(swap2,2,".n"),
_DECL_GLOBALBLOB_FUNC(swap4,2,".n"),
_DECL_GLOBALBLOB_FUNC(swapfloat,2,".n"),
{0,0,0,0}
};
@@ -228,7 +228,7 @@ SQUserPointer sqstd_createblob(HSQUIRRELVM v, SQInteger size)
{
SQInteger top = sq_gettop(v);
sq_pushregistrytable(v);
sq_pushstring(v,_SC("std_blob"),-1);
sq_pushstring(v,"std_blob",-1);
if(SQ_SUCCEEDED(sq_get(v,-2))) {
sq_remove(v,-2); //removes the registry
sq_push(v,1); // push the this
@@ -246,6 +246,6 @@ SQUserPointer sqstd_createblob(HSQUIRRELVM v, SQInteger size)
SQRESULT sqstd_register_bloblib(HSQUIRRELVM v)
{
return declare_stream(v,_SC("blob"),(SQUserPointer)SQSTD_BLOB_TYPE_TAG,_SC("std_blob"),_blob_methods,bloblib_funcs);
return declare_stream(v,"blob",(SQUserPointer)SQSTD_BLOB_TYPE_TAG,"std_blob",_blob_methods,bloblib_funcs);
}

View File

@@ -106,7 +106,7 @@ private:
static SQInteger _file__typeof(HSQUIRRELVM v)
{
sq_pushstring(v,_SC("file"),-1);
sq_pushstring(v,"file",-1);
return 1;
}
@@ -127,27 +127,27 @@ static SQInteger _file_constructor(HSQUIRRELVM v)
sq_getstring(v, 2, &filename);
sq_getstring(v, 3, &mode);
newf = sqstd_fopen(filename, mode);
if(!newf) return sq_throwerror(v, _SC("cannot open file"));
if(!newf) return sq_throwerror(v, "cannot open file");
} else if(sq_gettype(v,2) == OT_USERPOINTER) {
owns = !(sq_gettype(v,3) == OT_NULL);
sq_getuserpointer(v,2,&newf);
} else {
return sq_throwerror(v,_SC("wrong parameter"));
return sq_throwerror(v,"wrong parameter");
}
f = new SQFile(newf,owns);
if(SQ_FAILED(sq_setinstanceup(v,1,f))) {
delete f;
return sq_throwerror(v, _SC("cannot create blob with negative size"));
return sq_throwerror(v, "cannot create blob with negative size");
}
sq_setreleasehook(v,1,_file_releasehook);
return 0;
}
//bindings
#define _DECL_FILE_FUNC(name,nparams,typecheck) {_SC(#name),_file_##name,nparams,typecheck}
#define _DECL_FILE_FUNC(name,nparams,typecheck) {#name,_file_##name,nparams,typecheck}
static SQRegFunction _file_methods[] = {
_DECL_FILE_FUNC(constructor,3,_SC("x")),
_DECL_FILE_FUNC(_typeof,1,_SC("x")),
_DECL_FILE_FUNC(constructor,3,"x"),
_DECL_FILE_FUNC(_typeof,1,"x"),
{0,0,0,0},
};
@@ -157,7 +157,7 @@ SQRESULT sqstd_createfile(HSQUIRRELVM v, SQFILE file,SQBool own)
{
SQInteger top = sq_gettop(v);
sq_pushregistrytable(v);
sq_pushstring(v,_SC("std_file"),-1);
sq_pushstring(v,"std_file",-1);
if(SQ_SUCCEEDED(sq_get(v,-2))) {
sq_remove(v,-2); //removes the registry
sq_pushroottable(v); // push the this
@@ -184,7 +184,7 @@ SQRESULT sqstd_getfile(HSQUIRRELVM v, SQInteger idx, SQFILE *file)
*file = fileobj->GetHandle();
return SQ_OK;
}
return sq_throwerror(v,_SC("not a file"));
return sq_throwerror(v,"not a file");
}
@@ -269,7 +269,7 @@ SQInteger file_write(SQUserPointer file,SQUserPointer p,SQInteger size)
SQRESULT sqstd_loadfile(HSQUIRRELVM v,const SQChar *filename,SQBool printerror)
{
SQFILE file = sqstd_fopen(filename,_SC("rb"));
SQFILE file = sqstd_fopen(filename,"rb");
SQInteger ret;
unsigned short us;
unsigned char uc;
@@ -296,11 +296,11 @@ SQRESULT sqstd_loadfile(HSQUIRRELVM v,const SQChar *filename,SQBool printerror)
case 0xBBEF:
if(sqstd_fread(&uc,1,sizeof(uc),file) == 0) {
sqstd_fclose(file);
return sq_throwerror(v,_SC("io error"));
return sq_throwerror(v,"io error");
}
if(uc != 0xBF) {
sqstd_fclose(file);
return sq_throwerror(v,_SC("Unrecognozed ecoding"));
return sq_throwerror(v,"Unrecognozed ecoding");
}
func = _io_file_lexfeed_UTF8;
break;//UTF-8 ;
@@ -315,7 +315,7 @@ SQRESULT sqstd_loadfile(HSQUIRRELVM v,const SQChar *filename,SQBool printerror)
sqstd_fclose(file);
return SQ_ERROR;
}
return sq_throwerror(v,_SC("cannot open the file"));
return sq_throwerror(v,"cannot open the file");
}
SQRESULT sqstd_dofile(HSQUIRRELVM v,const SQChar *filename,SQBool retval,SQBool printerror)
@@ -333,8 +333,8 @@ SQRESULT sqstd_dofile(HSQUIRRELVM v,const SQChar *filename,SQBool retval,SQBool
SQRESULT sqstd_writeclosuretofile(HSQUIRRELVM v,const SQChar *filename)
{
SQFILE file = sqstd_fopen(filename,_SC("wb+"));
if(!file) return sq_throwerror(v,_SC("cannot open the file"));
SQFILE file = sqstd_fopen(filename,"wb+");
if(!file) return sq_throwerror(v,"cannot open the file");
if(SQ_SUCCEEDED(sq_writeclosure(v,file_write,file))) {
sqstd_fclose(file);
return SQ_OK;
@@ -379,11 +379,11 @@ SQInteger _g_io_dofile(HSQUIRRELVM v)
return SQ_ERROR; //propagates the error
}
#define _DECL_GLOBALIO_FUNC(name,nparams,typecheck) {_SC(#name),_g_io_##name,nparams,typecheck}
#define _DECL_GLOBALIO_FUNC(name,nparams,typecheck) {#name,_g_io_##name,nparams,typecheck}
static SQRegFunction iolib_funcs[]={
_DECL_GLOBALIO_FUNC(loadfile,-2,_SC(".sb")),
_DECL_GLOBALIO_FUNC(dofile,-2,_SC(".sb")),
_DECL_GLOBALIO_FUNC(writeclosuretofile,3,_SC(".sc")),
_DECL_GLOBALIO_FUNC(loadfile,-2,".sb"),
_DECL_GLOBALIO_FUNC(dofile,-2,".sb"),
_DECL_GLOBALIO_FUNC(writeclosuretofile,3,".sc"),
{0,0,0,0}
};
@@ -391,14 +391,14 @@ SQRESULT sqstd_register_iolib(HSQUIRRELVM v)
{
SQInteger top = sq_gettop(v);
//create delegate
declare_stream(v,_SC("file"),(SQUserPointer)SQSTD_FILE_TYPE_TAG,_SC("std_file"),_file_methods,iolib_funcs);
sq_pushstring(v,_SC("stdout"),-1);
declare_stream(v,"file",(SQUserPointer)SQSTD_FILE_TYPE_TAG,"std_file",_file_methods,iolib_funcs);
sq_pushstring(v,"stdout",-1);
sqstd_createfile(v,stdout,SQFalse);
sq_createslot(v,-3);
sq_pushstring(v,_SC("stdin"),-1);
sq_pushstring(v,"stdin",-1);
sqstd_createfile(v,stdin,SQFalse);
sq_createslot(v,-3);
sq_pushstring(v,_SC("stderr"),-1);
sq_pushstring(v,"stderr",-1);
sqstd_createfile(v,stderr,SQFalse);
sq_createslot(v,-3);
sq_settop(v,top);

View File

@@ -26,7 +26,7 @@ static SQInteger math_srand(HSQUIRRELVM v)
{
SQInteger i;
if(SQ_FAILED(sq_getinteger(v,2,&i)))
return sq_throwerror(v,_SC("invalid param"));
return sq_throwerror(v,"invalid param");
srand((unsigned int)i);
return 0;
}
@@ -62,28 +62,28 @@ SINGLE_ARG_FUNC(floor, 1)
SINGLE_ARG_FUNC(ceil, 1)
SINGLE_ARG_FUNC(exp, 100)
#define _DECL_FUNC(name,nparams,tycheck) {_SC(#name),math_##name,nparams,tycheck}
#define _DECL_FUNC(name,nparams,tycheck) {#name,math_##name,nparams,tycheck}
static SQRegFunction mathlib_funcs[] = {
_DECL_FUNC(sqrt,2,_SC(".n")),
_DECL_FUNC(sin,2,_SC(".n")),
_DECL_FUNC(cos,2,_SC(".n")),
_DECL_FUNC(asin,2,_SC(".n")),
_DECL_FUNC(acos,2,_SC(".n")),
_DECL_FUNC(log,2,_SC(".n")),
_DECL_FUNC(log10,2,_SC(".n")),
_DECL_FUNC(tan,2,_SC(".n")),
_DECL_FUNC(atan,2,_SC(".n")),
_DECL_FUNC(atan2,3,_SC(".nn")),
_DECL_FUNC(pow,3,_SC(".nn")),
_DECL_FUNC(floor,2,_SC(".n")),
_DECL_FUNC(ceil,2,_SC(".n")),
_DECL_FUNC(exp,2,_SC(".n")),
_DECL_FUNC(sqrt,2,".n"),
_DECL_FUNC(sin,2,".n"),
_DECL_FUNC(cos,2,".n"),
_DECL_FUNC(asin,2,".n"),
_DECL_FUNC(acos,2,".n"),
_DECL_FUNC(log,2,".n"),
_DECL_FUNC(log10,2,".n"),
_DECL_FUNC(tan,2,".n"),
_DECL_FUNC(atan,2,".n"),
_DECL_FUNC(atan2,3,".nn"),
_DECL_FUNC(pow,3,".nn"),
_DECL_FUNC(floor,2,".n"),
_DECL_FUNC(ceil,2,".n"),
_DECL_FUNC(exp,2,".n"),
#ifdef EXPORT_DEFAULT_SQUIRREL_FUNCTIONS
_DECL_FUNC(srand,2,_SC(".n")),
_DECL_FUNC(srand,2,".n"),
_DECL_FUNC(rand,1,NULL),
#endif /* EXPORT_DEFAULT_SQUIRREL_FUNCTIONS */
_DECL_FUNC(fabs,2,_SC(".n")),
_DECL_FUNC(abs,2,_SC(".n")),
_DECL_FUNC(fabs,2,".n"),
_DECL_FUNC(abs,2,".n"),
{0,0,0,0},
};
@@ -103,11 +103,11 @@ SQRESULT sqstd_register_mathlib(HSQUIRRELVM v)
i++;
}
#ifdef EXPORT_DEFAULT_SQUIRREL_FUNCTIONS
sq_pushstring(v,_SC("RAND_MAX"),-1);
sq_pushstring(v,"RAND_MAX",-1);
sq_pushinteger(v,RAND_MAX);
sq_createslot(v,-3);
#endif /* EXPORT_DEFAULT_SQUIRREL_FUNCTIONS */
sq_pushstring(v,_SC("PI"),-1);
sq_pushstring(v,"PI",-1);
sq_pushfloat(v,(SQFloat)M_PI);
sq_createslot(v,-3);
return SQ_OK;

View File

@@ -16,10 +16,10 @@
static const SQChar *g_nnames[] =
{
_SC("NONE"),_SC("OP_GREEDY"), _SC("OP_OR"),
_SC("OP_EXPR"),_SC("OP_NOCAPEXPR"),_SC("OP_DOT"), _SC("OP_CLASS"),
_SC("OP_CCLASS"),_SC("OP_NCLASS"),_SC("OP_RANGE"),_SC("OP_CHAR"),
_SC("OP_EOL"),_SC("OP_BOL"),_SC("OP_WB")
"NONE","OP_GREEDY", "OP_OR",
"OP_EXPR","OP_NOCAPEXPR","OP_DOT", "OP_CLASS",
"OP_CCLASS","OP_NCLASS","OP_RANGE","OP_CHAR",
"OP_EOL","OP_BOL","OP_WB"
};
#endif
@@ -99,7 +99,7 @@ static void sqstd_rex_error(SQRex *exp,const SQChar *error)
static void sqstd_rex_expect(SQRex *exp, SQChar n){
if((*exp->_p) != n)
sqstd_rex_error(exp, _SC("expected paren"));
sqstd_rex_error(exp, "expected paren");
exp->_p++;
}
@@ -115,7 +115,7 @@ static SQChar sqstd_rex_escapechar(SQRex *exp)
case 'f': exp->_p++; return '\f';
default: return (*exp->_p++);
}
} else if(!scisprint(*exp->_p)) sqstd_rex_error(exp,_SC("letter expected"));
} else if(!scisprint(*exp->_p)) sqstd_rex_error(exp,"letter expected");
return (*exp->_p++);
}
@@ -159,7 +159,7 @@ static SQInteger sqstd_rex_charnode(SQRex *exp,SQBool isclass)
}
else if(!scisprint(*exp->_p)) {
sqstd_rex_error(exp,_SC("letter expected"));
sqstd_rex_error(exp,"letter expected");
}
t = *exp->_p; exp->_p++;
return sqstd_rex_newnode(exp,t);
@@ -173,15 +173,15 @@ static SQInteger sqstd_rex_class(SQRex *exp)
exp->_p++;
}else ret = sqstd_rex_newnode(exp,OP_CLASS);
if(*exp->_p == ']') sqstd_rex_error(exp,_SC("empty class"));
if(*exp->_p == ']') sqstd_rex_error(exp,"empty class");
chain = ret;
while(*exp->_p != ']' && exp->_p != exp->_eol) {
if(*exp->_p == '-' && first != -1){
SQInteger r;
if(*exp->_p++ == ']') sqstd_rex_error(exp,_SC("unfinished range"));
if(*exp->_p++ == ']') sqstd_rex_error(exp,"unfinished range");
r = sqstd_rex_newnode(exp,OP_RANGE);
if(exp->_nodes[first].type>*exp->_p) sqstd_rex_error(exp,_SC("invalid range"));
if(exp->_nodes[first].type == OP_CCLASS) sqstd_rex_error(exp,_SC("cannot use character classes in ranges"));
if(exp->_nodes[first].type>*exp->_p) sqstd_rex_error(exp,"invalid range");
if(exp->_nodes[first].type == OP_CCLASS) sqstd_rex_error(exp,"cannot use character classes in ranges");
exp->_nodes[r].left = exp->_nodes[first].type;
SQInteger t = sqstd_rex_escapechar(exp);
exp->_nodes[r].right = t;
@@ -220,7 +220,7 @@ static SQInteger sqstd_rex_parsenumber(SQRex *exp)
exp->_p++;
while(isdigit(*exp->_p)) {
ret = ret*10+(*exp->_p++-'0');
if(positions==1000000000) sqstd_rex_error(exp,_SC("overflow in numeric constant"));
if(positions==1000000000) sqstd_rex_error(exp,"overflow in numeric constant");
positions *= 10;
};
return ret;
@@ -238,7 +238,7 @@ static SQInteger sqstd_rex_element(SQRex *exp)
if(*exp->_p =='?') {
exp->_p++;
sqstd_rex_expect(exp,_SC(':'));
sqstd_rex_expect(exp,':');
expr = sqstd_rex_newnode(exp,OP_NOCAPEXPR);
}
else
@@ -246,13 +246,13 @@ static SQInteger sqstd_rex_element(SQRex *exp)
SQInteger newn = sqstd_rex_list(exp);
exp->_nodes[expr].left = newn;
ret = expr;
sqstd_rex_expect(exp,_SC(')'));
sqstd_rex_expect(exp,')');
}
break;
case '[':
exp->_p++;
ret = sqstd_rex_class(exp);
sqstd_rex_expect(exp,_SC(']'));
sqstd_rex_expect(exp,']');
break;
case SQREX_SYMBOL_END_OF_STRING: exp->_p++; ret = sqstd_rex_newnode(exp,OP_EOL);break;
case SQREX_SYMBOL_ANY_CHAR: exp->_p++; ret = sqstd_rex_newnode(exp,OP_DOT);break;
@@ -271,7 +271,7 @@ static SQInteger sqstd_rex_element(SQRex *exp)
case SQREX_SYMBOL_GREEDY_ZERO_OR_ONE: p0 = 0; p1 = 1; exp->_p++; isgreedy = SQTrue; break;
case '{':
exp->_p++;
if(!isdigit(*exp->_p)) sqstd_rex_error(exp,_SC("number expected"));
if(!isdigit(*exp->_p)) sqstd_rex_error(exp,"number expected");
p0 = (unsigned short)sqstd_rex_parsenumber(exp);
/*******************************/
switch(*exp->_p) {
@@ -284,10 +284,10 @@ static SQInteger sqstd_rex_element(SQRex *exp)
if(isdigit(*exp->_p)){
p1 = (unsigned short)sqstd_rex_parsenumber(exp);
}
sqstd_rex_expect(exp,_SC('}'));
sqstd_rex_expect(exp,'}');
break;
default:
sqstd_rex_error(exp,_SC(", or } expected"));
sqstd_rex_error(exp,", or } expected");
}
/*******************************/
isgreedy = SQTrue;
@@ -537,23 +537,23 @@ SQRex *sqstd_rex_compile(const SQChar *pattern,const SQChar **error)
SQInteger res = sqstd_rex_list(exp);
exp->_nodes[exp->_first].left = res;
if(*exp->_p!='\0')
sqstd_rex_error(exp,_SC("unexpected character"));
sqstd_rex_error(exp,"unexpected character");
#ifdef _DEBUG
{
SQInteger nsize,i;
SQRexNode *t;
nsize = exp->_nsize;
t = &exp->_nodes[0];
scprintf(_SC("\n"));
scprintf("\n");
/* XXX -- The (int) casts are needed to silent warnings on 64bit systems (SQInteger is 64bit, %d assumes 32bit, (int) is 32bit) */
for(i = 0;i < nsize; i++) {
if(exp->_nodes[i].type>MAX_CHAR)
scprintf(_SC("[%02d] %10s "),(int)i,g_nnames[exp->_nodes[i].type-MAX_CHAR]);
scprintf("[%02d] %10s ",(int)i,g_nnames[exp->_nodes[i].type-MAX_CHAR]);
else
scprintf(_SC("[%02d] %10c "),(int)i,exp->_nodes[i].type);
scprintf(_SC("left %02d right %02d next %02d\n"),(int)exp->_nodes[i].left,(int)exp->_nodes[i].right,(int)exp->_nodes[i].next);
scprintf("[%02d] %10c ",(int)i,exp->_nodes[i].type);
scprintf("left %02d right %02d next %02d\n",(int)exp->_nodes[i].left,(int)exp->_nodes[i].right,(int)exp->_nodes[i].next);
}
scprintf(_SC("\n"));
scprintf("\n");
}
#endif
exp->_matches = (SQRexMatch *) sq_malloc(exp->_nsubexpr * sizeof(SQRexMatch));

View File

@@ -12,9 +12,9 @@
#define SETUP_STREAM(v) \
SQStream *self = NULL; \
if(SQ_FAILED(sq_getinstanceup(v,1,(SQUserPointer*)&self,(SQUserPointer)SQSTD_STREAM_TYPE_TAG))) \
return sq_throwerror(v,_SC("invalid type tag")); \
return sq_throwerror(v,"invalid type tag"); \
if(!self->IsValid()) \
return sq_throwerror(v,_SC("the stream is invalid"));
return sq_throwerror(v,"the stream is invalid");
SQInteger _stream_readblob(HSQUIRRELVM v)
{
@@ -28,14 +28,14 @@ SQInteger _stream_readblob(HSQUIRRELVM v)
data = sq_getscratchpad(v,size);
res = self->Read(data,size);
if(res <= 0)
return sq_throwerror(v,_SC("no data left to read"));
return sq_throwerror(v,"no data left to read");
blobp = sqstd_createblob(v,res);
memcpy(blobp,data,res);
return 1;
}
#define SAFE_READN(ptr,len) { \
if(self->Read(ptr,len) != len) return sq_throwerror(v,_SC("io error")); \
if(self->Read(ptr,len) != len) return sq_throwerror(v,"io error"); \
}
SQInteger _stream_readn(HSQUIRRELVM v)
{
@@ -92,7 +92,7 @@ SQInteger _stream_readn(HSQUIRRELVM v)
}
break;
default:
return sq_throwerror(v, _SC("invalid format"));
return sq_throwerror(v, "invalid format");
}
return 1;
}
@@ -103,10 +103,10 @@ SQInteger _stream_writeblob(HSQUIRRELVM v)
SQInteger size;
SETUP_STREAM(v);
if(SQ_FAILED(sqstd_getblob(v,2,&data)))
return sq_throwerror(v,_SC("invalid parameter"));
return sq_throwerror(v,"invalid parameter");
size = sqstd_getblobsize(v,2);
if(self->Write(data,size) != size)
return sq_throwerror(v,_SC("io error"));
return sq_throwerror(v,"io error");
sq_pushinteger(v,size);
return 1;
}
@@ -175,7 +175,7 @@ SQInteger _stream_writen(HSQUIRRELVM v)
}
break;
default:
return sq_throwerror(v, _SC("invalid format"));
return sq_throwerror(v, "invalid format");
}
return 0;
}
@@ -192,7 +192,7 @@ SQInteger _stream_seek(HSQUIRRELVM v)
case 'b': origin = SQ_SEEK_SET; break;
case 'c': origin = SQ_SEEK_CUR; break;
case 'e': origin = SQ_SEEK_END; break;
default: return sq_throwerror(v,_SC("invalid origin"));
default: return sq_throwerror(v,"invalid origin");
}
}
sq_pushinteger(v, self->Seek(offset, origin));
@@ -234,24 +234,24 @@ SQInteger _stream_eos(HSQUIRRELVM v)
}
static SQRegFunction _stream_methods[] = {
_DECL_STREAM_FUNC(readblob,2,_SC("xn")),
_DECL_STREAM_FUNC(readn,2,_SC("xn")),
_DECL_STREAM_FUNC(writeblob,-2,_SC("xx")),
_DECL_STREAM_FUNC(writen,3,_SC("xnn")),
_DECL_STREAM_FUNC(seek,-2,_SC("xnn")),
_DECL_STREAM_FUNC(tell,1,_SC("x")),
_DECL_STREAM_FUNC(len,1,_SC("x")),
_DECL_STREAM_FUNC(eos,1,_SC("x")),
_DECL_STREAM_FUNC(flush,1,_SC("x")),
_DECL_STREAM_FUNC(readblob,2,"xn"),
_DECL_STREAM_FUNC(readn,2,"xn"),
_DECL_STREAM_FUNC(writeblob,-2,"xx"),
_DECL_STREAM_FUNC(writen,3,"xnn"),
_DECL_STREAM_FUNC(seek,-2,"xnn"),
_DECL_STREAM_FUNC(tell,1,"x"),
_DECL_STREAM_FUNC(len,1,"x"),
_DECL_STREAM_FUNC(eos,1,"x"),
_DECL_STREAM_FUNC(flush,1,"x"),
{0,0,0,0}
};
void init_streamclass(HSQUIRRELVM v)
{
sq_pushregistrytable(v);
sq_pushstring(v,_SC("std_stream"),-1);
sq_pushstring(v,"std_stream",-1);
if(SQ_FAILED(sq_get(v,-2))) {
sq_pushstring(v,_SC("std_stream"),-1);
sq_pushstring(v,"std_stream",-1);
sq_newclass(v,SQFalse);
sq_settypetag(v,-1,(SQUserPointer)SQSTD_STREAM_TYPE_TAG);
SQInteger i = 0;
@@ -265,8 +265,8 @@ void init_streamclass(HSQUIRRELVM v)
}
sq_createslot(v,-3);
sq_pushroottable(v);
sq_pushstring(v,_SC("stream"),-1);
sq_pushstring(v,_SC("std_stream"),-1);
sq_pushstring(v,"stream",-1);
sq_pushstring(v,"std_stream",-1);
sq_get(v,-4);
sq_createslot(v,-3);
sq_pop(v,1);
@@ -280,13 +280,13 @@ void init_streamclass(HSQUIRRELVM v)
SQRESULT declare_stream(HSQUIRRELVM v,const SQChar* name,SQUserPointer typetag,const SQChar* reg_name,SQRegFunction *methods,SQRegFunction *globals)
{
if(sq_gettype(v,-1) != OT_TABLE)
return sq_throwerror(v,_SC("table expected"));
return sq_throwerror(v,"table expected");
SQInteger top = sq_gettop(v);
//create delegate
init_streamclass(v);
sq_pushregistrytable(v);
sq_pushstring(v,reg_name,-1);
sq_pushstring(v,_SC("std_stream"),-1);
sq_pushstring(v,"std_stream",-1);
if(SQ_SUCCEEDED(sq_get(v,-3))) {
sq_newclass(v,SQTrue);
sq_settypetag(v,-1,typetag);

View File

@@ -13,6 +13,6 @@ SQInteger _stream_len(HSQUIRRELVM v);
SQInteger _stream_eos(HSQUIRRELVM v);
SQInteger _stream_flush(HSQUIRRELVM v);
#define _DECL_STREAM_FUNC(name,nparams,typecheck) {_SC(#name),_stream_##name,nparams,typecheck}
#define _DECL_STREAM_FUNC(name,nparams,typecheck) {#name,_stream_##name,nparams,typecheck}
SQRESULT declare_stream(HSQUIRRELVM v,const SQChar* name,SQUserPointer typetag,const SQChar* reg_name,SQRegFunction *methods,SQRegFunction *globals);
#endif /*_SQSTD_STREAM_H_*/

View File

@@ -21,13 +21,13 @@ static SQInteger validate_format(HSQUIRRELVM v, SQChar *fmt, const SQChar *src,
SQInteger wc = 0;
SQInteger start = n;
fmt[0] = '%';
while (scstrchr(_SC("-+ #0"), src[n])) n++;
while (scstrchr("-+ #0", src[n])) n++;
while (scisdigit(src[n])) {
swidth[wc] = src[n];
n++;
wc++;
if(wc>=MAX_WFORMAT_LEN)
return sq_throwerror(v,_SC("width format too long"));
return sq_throwerror(v,"width format too long");
}
swidth[wc] = '\0';
if(wc > 0) {
@@ -44,7 +44,7 @@ static SQInteger validate_format(HSQUIRRELVM v, SQChar *fmt, const SQChar *src,
n++;
wc++;
if(wc>=MAX_WFORMAT_LEN)
return sq_throwerror(v,_SC("precision format too long"));
return sq_throwerror(v,"precision format too long");
}
swidth[wc] = '\0';
if(wc > 0) {
@@ -52,7 +52,7 @@ static SQInteger validate_format(HSQUIRRELVM v, SQChar *fmt, const SQChar *src,
}
}
if (n-start > MAX_FORMAT_LEN )
return sq_throwerror(v,_SC("format too long"));
return sq_throwerror(v,"format too long");
memcpy(&fmt[1],&src[start],((n-start)+1)*sizeof(SQChar));
fmt[(n-start)+2] = '\0';
return n;
@@ -96,7 +96,7 @@ SQRESULT sqstd_format(HSQUIRRELVM v,SQInteger nformatstringidx,SQInteger *outlen
else {
n++;
if( nparam > sq_gettop(v) )
return sq_throwerror(v,_SC("not enough paramters for the given format string"));
return sq_throwerror(v,"not enough paramters for the given format string");
n = validate_format(v,fmt,format,n,w);
if(n < 0) return -1;
SQInteger addlen = 0;
@@ -107,24 +107,24 @@ SQRESULT sqstd_format(HSQUIRRELVM v,SQInteger nformatstringidx,SQInteger *outlen
switch(format[n]) {
case 's':
if(SQ_FAILED(sq_getstring(v,nparam,&ts)))
return sq_throwerror(v,_SC("string expected for the specified format"));
return sq_throwerror(v,"string expected for the specified format");
addlen = (sq_getsize(v,nparam)*sizeof(SQChar))+((w+1)*sizeof(SQChar));
valtype = 's';
break;
case 'i': case 'd': case 'c':case 'o': case 'u': case 'x': case 'X':
if(SQ_FAILED(sq_getinteger(v,nparam,&ti)))
return sq_throwerror(v,_SC("integer expected for the specified format"));
return sq_throwerror(v,"integer expected for the specified format");
addlen = (ADDITIONAL_FORMAT_SPACE)+((w+1)*sizeof(SQChar));
valtype = 'i';
break;
case 'f': case 'g': case 'G': case 'e': case 'E':
if(SQ_FAILED(sq_getfloat(v,nparam,&tf)))
return sq_throwerror(v,_SC("float expected for the specified format"));
return sq_throwerror(v,"float expected for the specified format");
addlen = (ADDITIONAL_FORMAT_SPACE)+((w+1)*sizeof(SQChar));
valtype = 'f';
break;
default:
return sq_throwerror(v,_SC("invalid format"));
return sq_throwerror(v,"invalid format");
}
n++;
allocated += addlen + sizeof(SQChar);
@@ -207,7 +207,7 @@ static SQInteger _string_split(HSQUIRRELVM v)
SQChar *stemp,*tok;
sq_getstring(v,2,&str);
sq_getstring(v,3,&seps);
if(sq_getsize(v,3) == 0) return sq_throwerror(v,_SC("empty separators string"));
if(sq_getsize(v,3) == 0) return sq_throwerror(v,"empty separators string");
SQInteger memsize = (sq_getsize(v,2)+1)*sizeof(SQChar);
stemp = sq_getscratchpad(v,memsize);
memcpy(stemp,str,memsize);
@@ -249,10 +249,10 @@ static SQInteger _regexp_match(HSQUIRRELVM v)
static void _addrexmatch(HSQUIRRELVM v,const SQChar *str,const SQChar *begin,const SQChar *end)
{
sq_newtable(v);
sq_pushstring(v,_SC("begin"),-1);
sq_pushstring(v,"begin",-1);
sq_pushinteger(v,begin - str);
sq_rawset(v,-3);
sq_pushstring(v,_SC("end"),-1);
sq_pushstring(v,"end",-1);
sq_pushinteger(v,end - str);
sq_rawset(v,-3);
}
@@ -315,35 +315,35 @@ static SQInteger _regexp_constructor(HSQUIRRELVM v)
static SQInteger _regexp__typeof(HSQUIRRELVM v)
{
sq_pushstring(v,_SC("regexp"),-1);
sq_pushstring(v,"regexp",-1);
return 1;
}
#define _DECL_REX_FUNC(name,nparams,pmask) {_SC(#name),_regexp_##name,nparams,pmask}
#define _DECL_REX_FUNC(name,nparams,pmask) {#name,_regexp_##name,nparams,pmask}
static SQRegFunction rexobj_funcs[]={
_DECL_REX_FUNC(constructor,2,_SC(".s")),
_DECL_REX_FUNC(search,-2,_SC("xsn")),
_DECL_REX_FUNC(match,2,_SC("xs")),
_DECL_REX_FUNC(capture,-2,_SC("xsn")),
_DECL_REX_FUNC(subexpcount,1,_SC("x")),
_DECL_REX_FUNC(_typeof,1,_SC("x")),
_DECL_REX_FUNC(constructor,2,".s"),
_DECL_REX_FUNC(search,-2,"xsn"),
_DECL_REX_FUNC(match,2,"xs"),
_DECL_REX_FUNC(capture,-2,"xsn"),
_DECL_REX_FUNC(subexpcount,1,"x"),
_DECL_REX_FUNC(_typeof,1,"x"),
{0,0,0,0}
};
#define _DECL_FUNC(name,nparams,pmask) {_SC(#name),_string_##name,nparams,pmask}
#define _DECL_FUNC(name,nparams,pmask) {#name,_string_##name,nparams,pmask}
static SQRegFunction stringlib_funcs[]={
_DECL_FUNC(format,-2,_SC(".s")),
_DECL_FUNC(strip,2,_SC(".s")),
_DECL_FUNC(lstrip,2,_SC(".s")),
_DECL_FUNC(rstrip,2,_SC(".s")),
_DECL_FUNC(split,3,_SC(".ss")),
_DECL_FUNC(format,-2,".s"),
_DECL_FUNC(strip,2,".s"),
_DECL_FUNC(lstrip,2,".s"),
_DECL_FUNC(rstrip,2,".s"),
_DECL_FUNC(split,3,".ss"),
{0,0,0,0}
};
SQInteger sqstd_register_stringlib(HSQUIRRELVM v)
{
sq_pushstring(v,_SC("regexp"),-1);
sq_pushstring(v,"regexp",-1);
sq_newclass(v,SQFalse);
SQInteger i = 0;
while(rexobj_funcs[i].name != 0) {

View File

@@ -29,7 +29,7 @@ static SQInteger _system_system(HSQUIRRELVM v)
sq_pushinteger(v,scsystem(s));
return 1;
}
return sq_throwerror(v,_SC("wrong param"));
return sq_throwerror(v,"wrong param");
}
@@ -52,7 +52,7 @@ static SQInteger _system_remove(HSQUIRRELVM v)
const SQChar *s;
sq_getstring(v,2,&s);
if(scremove(s)==-1)
return sq_throwerror(v,_SC("remove() failed"));
return sq_throwerror(v,"remove() failed");
return 0;
}
@@ -62,7 +62,7 @@ static SQInteger _system_rename(HSQUIRRELVM v)
sq_getstring(v,2,&oldn);
sq_getstring(v,3,&newn);
if(screname(oldn,newn)==-1)
return sq_throwerror(v,_SC("rename() failed"));
return sq_throwerror(v,"rename() failed");
return 0;
}
@@ -94,30 +94,30 @@ static SQInteger _system_date(HSQUIRRELVM v)
else
date = localtime(&t);
if(!date)
return sq_throwerror(v,_SC("crt api failure"));
return sq_throwerror(v,"crt api failure");
sq_newtable(v);
_set_integer_slot(v, _SC("sec"), date->tm_sec);
_set_integer_slot(v, _SC("min"), date->tm_min);
_set_integer_slot(v, _SC("hour"), date->tm_hour);
_set_integer_slot(v, _SC("day"), date->tm_mday);
_set_integer_slot(v, _SC("month"), date->tm_mon);
_set_integer_slot(v, _SC("year"), date->tm_year+1900);
_set_integer_slot(v, _SC("wday"), date->tm_wday);
_set_integer_slot(v, _SC("yday"), date->tm_yday);
_set_integer_slot(v, "sec", date->tm_sec);
_set_integer_slot(v, "min", date->tm_min);
_set_integer_slot(v, "hour", date->tm_hour);
_set_integer_slot(v, "day", date->tm_mday);
_set_integer_slot(v, "month", date->tm_mon);
_set_integer_slot(v, "year", date->tm_year+1900);
_set_integer_slot(v, "wday", date->tm_wday);
_set_integer_slot(v, "yday", date->tm_yday);
return 1;
}
#define _DECL_FUNC(name,nparams,pmask) {_SC(#name),_system_##name,nparams,pmask}
#define _DECL_FUNC(name,nparams,pmask) {#name,_system_##name,nparams,pmask}
static SQRegFunction systemlib_funcs[]={
_DECL_FUNC(getenv,2,_SC(".s")),
_DECL_FUNC(system,2,_SC(".s")),
_DECL_FUNC(getenv,2,".s"),
_DECL_FUNC(system,2,".s"),
_DECL_FUNC(clock,1,NULL),
_DECL_FUNC(time,1,NULL),
_DECL_FUNC(date,-1,_SC(".nn")),
_DECL_FUNC(remove,2,_SC(".s")),
_DECL_FUNC(rename,3,_SC(".ss")),
_DECL_FUNC(date,-1,".nn"),
_DECL_FUNC(remove,2,".s"),
_DECL_FUNC(rename,3,".ss"),
{0,0,0,0}
};