diff --git a/sqstdlib/sqstdio.cpp b/sqstdlib/sqstdio.cpp index ec6ee07e..6aa9029f 100644 --- a/sqstdlib/sqstdio.cpp +++ b/sqstdlib/sqstdio.cpp @@ -36,12 +36,20 @@ SQInteger sqstd_fseek(SQFILE file, SQInteger offset, SQInteger origin) case SQ_SEEK_SET: realorigin = SEEK_SET; break; default: return -1; //failed } +#ifndef _WIN64 return fseek((FILE *)file,(long)offset,(int)realorigin); +#else + return _fseeki64((FILE*)file, (long)offset, (int)realorigin); +#endif // !_WIN64 } SQInteger sqstd_ftell(SQFILE file) { +#ifndef _WIN64 return ftell((FILE *)file); +#else + return _ftelli64((FILE*)file); +#endif // !_WIN64 } SQInteger sqstd_fflush(SQFILE file) diff --git a/squirrel/sqclass.cpp b/squirrel/sqclass.cpp index 53a29763..5e17bbe8 100644 --- a/squirrel/sqclass.cpp +++ b/squirrel/sqclass.cpp @@ -89,7 +89,7 @@ bool SQClass::NewSlot(SQSharedState *ss,const SQObjectPtr &key,const SQObjectPtr _methods.push_back(m); } else { - _methods[_member_idx(temp)].val = theval; + _methods[_member_idx(temp)].val = std::move(theval); } } return true; diff --git a/squirrel/sqcompiler.cpp b/squirrel/sqcompiler.cpp index 0b177057..b092684e 100644 --- a/squirrel/sqcompiler.cpp +++ b/squirrel/sqcompiler.cpp @@ -1008,8 +1008,8 @@ class SQCompiler if(separator == ',') { //only works for tables _fs->AddInstruction(_OP_LOAD, _fs->PushTarget(), _fs->GetConstant(Expect(TK_STRING_LITERAL))); Expect(_SC(':')); Expression(); - break; } + break; default : _fs->AddInstruction(_OP_LOAD, _fs->PushTarget(), _fs->GetConstant(Expect(TK_IDENTIFIER))); Expect(_SC('=')); Expression(); diff --git a/squirrel/sqfuncproto.h b/squirrel/sqfuncproto.h index 546dbabb..0fb36006 100644 --- a/squirrel/sqfuncproto.h +++ b/squirrel/sqfuncproto.h @@ -12,19 +12,11 @@ enum SQOuterType { struct SQOuterVar { - SQOuterVar(){} - SQOuterVar(const SQObjectPtr &name,const SQObjectPtr &src,SQOuterType t) - { - _name = name; - _src=src; - _type=t; - } + SQOuterVar() = default; + SQOuterVar(const SQObjectPtr &name, const SQObjectPtr &src, SQOuterType t) + : _type(t), _name(name), _src(src) {} SQOuterVar(const SQOuterVar &ov) - { - _type=ov._type; - _src=ov._src; - _name=ov._name; - } + : _type(ov._type), _name(ov._name), _src(ov._src) {} SQOuterType _type; SQObjectPtr _name; SQObjectPtr _src; diff --git a/squirrel/sqlexer.cpp b/squirrel/sqlexer.cpp index 6a8e7c4f..0d2e09db 100644 --- a/squirrel/sqlexer.cpp +++ b/squirrel/sqlexer.cpp @@ -18,7 +18,7 @@ #define TERMINATE_BUFFER() {_longstr.push_back(_SC('\0'));} #define ADD_KEYWORD(key,id) _keywords->NewSlot( SQString::Create(ss, _SC(#key)) ,SQInteger(id)) -SQLexer::SQLexer(){} +SQLexer::SQLexer() = default; SQLexer::~SQLexer() { _keywords->Release(); diff --git a/squirrel/sqobject.cpp b/squirrel/sqobject.cpp index 7d7f297f..ab2ea816 100644 --- a/squirrel/sqobject.cpp +++ b/squirrel/sqobject.cpp @@ -493,8 +493,8 @@ bool SQFunctionProto::Load(SQVM *v,SQUserPointer up,SQREADFUNC read,SQObjectPtr SQFunctionProto *f = SQFunctionProto::Create(_opt_ss(v),ninstructions,nliterals,nparameters, nfunctions,noutervalues,nlineinfos,nlocalvarinfos,ndefaultparams); SQObjectPtr proto = f; //gets a ref in case of failure - f->_sourcename = sourcename; - f->_name = name; + f->_sourcename = std::move(sourcename); + f->_name = std::move(name); _CHECK_IO(CheckTag(v,read,up,SQ_CLOSURESTREAM_PART)); diff --git a/squirrel/sqopcodes.h b/squirrel/sqopcodes.h index 15d80e4b..f1056aba 100644 --- a/squirrel/sqopcodes.h +++ b/squirrel/sqopcodes.h @@ -108,7 +108,7 @@ struct SQInstructionDesc { struct SQInstruction { - SQInstruction(){}; + SQInstruction() = default; SQInstruction(SQOpcode _op,SQInteger a0=0,SQInteger a1=0,SQInteger a2=0,SQInteger a3=0) { op = (unsigned char)_op; _arg0 = (unsigned char)a0;_arg1 = (SQInt32)a1; diff --git a/squirrel/sqvm.cpp b/squirrel/sqvm.cpp index 051b94f9..9030d8e6 100644 --- a/squirrel/sqvm.cpp +++ b/squirrel/sqvm.cpp @@ -315,6 +315,7 @@ bool SQVM::ToString(const SQObjectPtr &o,SQObjectPtr &res) } } } + break; default: scsprintf(_sp(sq_rsl((sizeof(void*)*2)+NUMBER_MAX_CHAR)),sq_rsl((sizeof(void*)*2)+NUMBER_MAX_CHAR),_SC("(%s : 0x%p)"),GetTypeName(o),(void*)_rawval(o)); } @@ -574,6 +575,7 @@ bool SQVM::FOREACH_OP(SQObjectPtr &o1,SQObjectPtr &o2,SQObjectPtr _generator(o1)->Resume(this, o3); _FINISH(0); } + break; default: Raise_Error(_SC("cannot iterate %s"), GetTypeName(o1)); } @@ -651,7 +653,7 @@ bool SQVM::CLASS_OP(SQObjectPtr &target,SQInteger baseclass,SQInteger attributes } Pop(nparams); } - _class(target)->_attributes = attrs; + _class(target)->_attributes = std::move(attrs); return true; } @@ -1070,12 +1072,14 @@ bool SQVM::Execute(SQObjectPtr &closure, SQInteger nargs, SQInteger stackbase,SQ _GUARD(NewSlotA(STK(arg1),STK(arg2),STK(arg3),(arg0&NEW_SLOT_ATTRIBUTES_FLAG) ? STK(arg2-1) : SQObjectPtr(),(arg0&NEW_SLOT_STATIC_FLAG)?true:false,false)); continue; case _OP_GETBASE:{ - SQClosure *clo = _closure(ci->_closure); - if(clo->_base) { - TARGET = clo->_base; - } - else { - TARGET.Null(); + if (ci) { + SQClosure* clo = _closure(ci->_closure); + if (clo->_base) { + TARGET = clo->_base; + } + else { + TARGET.Null(); + } } continue; } @@ -1409,7 +1413,7 @@ SQInteger SQVM::FallBackSet(const SQObjectPtr &self,const SQObjectPtr &key,const if(_table(self)->_delegate) { if(Set(_table(self)->_delegate,key,val,DONT_FALL_BACK)) return FALLBACK_OK; } - //keps on going + // keeps on going case OT_INSTANCE: case OT_USERDATA:{ SQObjectPtr closure; diff --git a/squirrel/sqvm.h b/squirrel/sqvm.h index 50927507..014671fc 100644 --- a/squirrel/sqvm.h +++ b/squirrel/sqvm.h @@ -18,7 +18,7 @@ void sq_base_register(HSQUIRRELVM v); struct SQExceptionTrap{ - SQExceptionTrap() {} + SQExceptionTrap() = default; SQExceptionTrap(SQInteger ss, SQInteger stackbase,SQInstruction *ip, SQInteger ex_target){ _stacksize = ss; _stackbase = stackbase; _ip = ip; _extarget = ex_target;} SQExceptionTrap(const SQExceptionTrap &et) { (*this) = et; } SQInteger _stackbase;