| 521 | |
| 522 | |
| 523 | SQInteger sqstd_register_stringlib(HSQUIRRELVM v) |
| 524 | { |
| 525 | sq_pushstring(v,_SC("regexp"),-1); |
| 526 | sq_newclass(v,SQFalse); |
| 527 | rex_typetag = (SQUserPointer)rexobj_funcs; |
| 528 | sq_settypetag(v, -1, rex_typetag); |
| 529 | SQInteger i = 0; |
| 530 | while(rexobj_funcs[i].name != 0) { |
| 531 | const SQRegFunction &f = rexobj_funcs[i]; |
| 532 | sq_pushstring(v,f.name,-1); |
| 533 | sq_newclosure(v,f.f,0); |
| 534 | sq_setparamscheck(v,f.nparamscheck,f.typemask); |
| 535 | sq_setnativeclosurename(v,-1,f.name); |
| 536 | sq_newslot(v,-3,SQFalse); |
| 537 | i++; |
| 538 | } |
| 539 | sq_newslot(v,-3,SQFalse); |
| 540 | |
| 541 | i = 0; |
| 542 | while(stringlib_funcs[i].name!=0) |
| 543 | { |
| 544 | sq_pushstring(v,stringlib_funcs[i].name,-1); |
| 545 | sq_newclosure(v,stringlib_funcs[i].f,0); |
| 546 | sq_setparamscheck(v,stringlib_funcs[i].nparamscheck,stringlib_funcs[i].typemask); |
| 547 | sq_setnativeclosurename(v,-1,stringlib_funcs[i].name); |
| 548 | sq_newslot(v,-3,SQFalse); |
| 549 | i++; |
| 550 | } |
| 551 | return 1; |
| 552 | } |
no test coverage detected