1
0
Fork 0

Codechange: replace SQChar with char

pull/14211/head
Rubidium 2025-05-03 21:33:27 +02:00 committed by rubidium42
parent 1f411f8a16
commit 0724b3cda8
9 changed files with 19 additions and 20 deletions

View File

@ -68,7 +68,6 @@ struct SQClass;
struct SQInstance; struct SQInstance;
struct SQDelegable; struct SQDelegable;
typedef char SQChar;
#define MAX_CHAR 0xFFFF #define MAX_CHAR 0xFFFF
#define SQUIRREL_VERSION "Squirrel 2.2.5 stable - With custom OpenTTD modifications" #define SQUIRREL_VERSION "Squirrel 2.2.5 stable - With custom OpenTTD modifications"

View File

@ -21,7 +21,7 @@
bool str2num(std::string_view s,SQObjectPtr &res) bool str2num(std::string_view s,SQObjectPtr &res)
{ {
if(s.find('.') != std::string_view::npos){ if(s.find('.') != std::string_view::npos){
SQChar *end; char *end;
std::string str{s}; std::string str{s};
SQFloat r = SQFloat(strtod(str.c_str(),&end)); SQFloat r = SQFloat(strtod(str.c_str(),&end));
if(str.c_str() == end) return false; if(str.c_str() == end) return false;
@ -281,7 +281,7 @@ void sq_base_register(HSQUIRRELVM v)
sq_pushstring(v,SQUIRREL_VERSION); sq_pushstring(v,SQUIRREL_VERSION);
sq_createslot(v,-3); sq_createslot(v,-3);
sq_pushstring(v,"_charsize_"); sq_pushstring(v,"_charsize_");
sq_pushinteger(v,sizeof(SQChar)); sq_pushinteger(v,sizeof(char));
sq_createslot(v,-3); sq_createslot(v,-3);
sq_pushstring(v,"_intsize_"); sq_pushstring(v,"_intsize_");
sq_pushinteger(v,sizeof(SQInteger)); sq_pushinteger(v,sizeof(SQInteger));
@ -369,7 +369,7 @@ static SQInteger obj_clear(HSQUIRRELVM v)
static SQInteger number_delegate_tochar(HSQUIRRELVM v) static SQInteger number_delegate_tochar(HSQUIRRELVM v)
{ {
SQObject &o=stack_get(v,1); SQObject &o=stack_get(v,1);
SQChar c = (SQChar)tointeger(o); char c = static_cast<char>(tointeger(o));
v->Push(SQString::Create(_ss(v),std::string_view(&c, 1))); v->Push(SQString::Create(_ss(v),std::string_view(&c, 1)));
return 1; return 1;
} }

View File

@ -305,7 +305,7 @@ SQInteger SQLexer::ReadString(char32_t ndelim,bool verbatim)
case 'x': NEXT(); { case 'x': NEXT(); {
if(!isxdigit(CUR_CHAR)) throw CompileException("hexadecimal number expected"); if(!isxdigit(CUR_CHAR)) throw CompileException("hexadecimal number expected");
const SQInteger maxdigits = 4; const SQInteger maxdigits = 4;
SQChar temp[maxdigits]; char temp[maxdigits];
size_t n = 0; size_t n = 0;
while(isxdigit(CUR_CHAR) && n < maxdigits) { while(isxdigit(CUR_CHAR) && n < maxdigits) {
temp[n] = CUR_CHAR; temp[n] = CUR_CHAR;
@ -314,7 +314,7 @@ SQInteger SQLexer::ReadString(char32_t ndelim,bool verbatim)
} }
auto val = ParseInteger(std::string_view{temp, n}, 16); auto val = ParseInteger(std::string_view{temp, n}, 16);
if (!val.has_value()) throw CompileException("hexadecimal number expected"); if (!val.has_value()) throw CompileException("hexadecimal number expected");
APPEND_CHAR(static_cast<SQChar>(*val)); APPEND_CHAR(static_cast<char>(*val));
} }
break; break;
case 't': APPEND_CHAR('\t'); NEXT(); break; case 't': APPEND_CHAR('\t'); NEXT(); break;
@ -357,7 +357,7 @@ SQInteger SQLexer::ReadString(char32_t ndelim,bool verbatim)
return TK_STRING_LITERAL; return TK_STRING_LITERAL;
} }
SQInteger scisodigit(SQChar c) { return c >= '0' && c <= '7'; } SQInteger scisodigit(char c) { return c >= '0' && c <= '7'; }
SQInteger isexponent(SQInteger c) { return c == 'e' || c=='E'; } SQInteger isexponent(SQInteger c) { return c == 'e' || c=='E'; }
@ -371,7 +371,6 @@ SQInteger SQLexer::ReadNumber()
#define TSCIENTIFIC 4 #define TSCIENTIFIC 4
#define TOCTAL 5 #define TOCTAL 5
SQInteger type = TINT, firstchar = CUR_CHAR; SQInteger type = TINT, firstchar = CUR_CHAR;
SQChar *sTemp;
INIT_TEMP_STRING(); INIT_TEMP_STRING();
NEXT(); NEXT();
if(firstchar == '0' && (toupper(CUR_CHAR) == 'X' || scisodigit(CUR_CHAR)) ) { if(firstchar == '0' && (toupper(CUR_CHAR) == 'X' || scisodigit(CUR_CHAR)) ) {
@ -417,6 +416,7 @@ SQInteger SQLexer::ReadNumber()
case TSCIENTIFIC: case TSCIENTIFIC:
case TFLOAT: { case TFLOAT: {
std::string str{View()}; std::string str{View()};
char *sTemp;
_fvalue = (SQFloat)strtod(str.c_str(),&sTemp); _fvalue = (SQFloat)strtod(str.c_str(),&sTemp);
return TK_FLOAT; return TK_FLOAT;
} }

View File

@ -31,7 +31,7 @@ public:
SQUserPointer _up; SQUserPointer _up;
char32_t _currdata; char32_t _currdata;
SQSharedState *_sharedstate; SQSharedState *_sharedstate;
sqvector<SQChar> _longstr; sqvector<char> _longstr;
std::string_view View() const { return std::string_view(_longstr._vals, _longstr.size()); } std::string_view View() const { return std::string_view(_longstr._vals, _longstr.size()); }
}; };

View File

@ -18,7 +18,7 @@
#include "../../../safeguards.h" #include "../../../safeguards.h"
const SQChar *IdType2Name(SQObjectType type) std::string_view IdType2Name(SQObjectType type)
{ {
switch(_RAW_TYPE(type)) switch(_RAW_TYPE(type))
{ {
@ -42,11 +42,11 @@ const SQChar *IdType2Name(SQObjectType type)
case _RT_INSTANCE: return "instance"; case _RT_INSTANCE: return "instance";
case _RT_WEAKREF: return "weakref"; case _RT_WEAKREF: return "weakref";
default: default:
return nullptr; NOT_REACHED();
} }
} }
const SQChar *GetTypeName(const SQObjectPtr &obj1) std::string_view GetTypeName(const SQObjectPtr &obj1)
{ {
return IdType2Name(type(obj1)); return IdType2Name(type(obj1));
} }
@ -323,7 +323,7 @@ bool ReadObject(HSQUIRRELVM v,SQUserPointer up,SQREADFUNC read,SQObjectPtr &o)
bool SQClosure::Save(SQVM *v,SQUserPointer up,SQWRITEFUNC write) bool SQClosure::Save(SQVM *v,SQUserPointer up,SQWRITEFUNC write)
{ {
_CHECK_IO(WriteTag(v,write,up,SQ_CLOSURESTREAM_HEAD)); _CHECK_IO(WriteTag(v,write,up,SQ_CLOSURESTREAM_HEAD));
_CHECK_IO(WriteTag(v,write,up,sizeof(SQChar))); _CHECK_IO(WriteTag(v,write,up,sizeof(char)));
_CHECK_IO(_funcproto(_function)->Save(v,up,write)); _CHECK_IO(_funcproto(_function)->Save(v,up,write));
_CHECK_IO(WriteTag(v,write,up,SQ_CLOSURESTREAM_TAIL)); _CHECK_IO(WriteTag(v,write,up,SQ_CLOSURESTREAM_TAIL));
return true; return true;
@ -332,7 +332,7 @@ bool SQClosure::Save(SQVM *v,SQUserPointer up,SQWRITEFUNC write)
bool SQClosure::Load(SQVM *v,SQUserPointer up,SQREADFUNC read,SQObjectPtr &ret) bool SQClosure::Load(SQVM *v,SQUserPointer up,SQREADFUNC read,SQObjectPtr &ret)
{ {
_CHECK_IO(CheckTag(v,read,up,SQ_CLOSURESTREAM_HEAD)); _CHECK_IO(CheckTag(v,read,up,SQ_CLOSURESTREAM_HEAD));
_CHECK_IO(CheckTag(v,read,up,sizeof(SQChar))); _CHECK_IO(CheckTag(v,read,up,sizeof(char)));
SQObjectPtr func; SQObjectPtr func;
_CHECK_IO(SQFunctionProto::Load(v,up,read,func)); _CHECK_IO(SQFunctionProto::Load(v,up,read,func));
_CHECK_IO(CheckTag(v,read,up,SQ_CLOSURESTREAM_TAIL)); _CHECK_IO(CheckTag(v,read,up,SQ_CLOSURESTREAM_TAIL));

View File

@ -357,7 +357,7 @@ struct SQObjectPtr : public SQObject
return *this; return *this;
} }
private: private:
SQObjectPtr(const SQChar *){} //safety SQObjectPtr(const char *) = delete; //safety
}; };
inline void _Swap(SQObject &a,SQObject &b) inline void _Swap(SQObject &a,SQObject &b)
@ -449,8 +449,8 @@ struct SQDelegable : public CHAINABLE_OBJ {
SQUnsignedInteger TranslateIndex(const SQObjectPtr &idx); SQUnsignedInteger TranslateIndex(const SQObjectPtr &idx);
typedef sqvector<SQObjectPtr> SQObjectPtrVec; typedef sqvector<SQObjectPtr> SQObjectPtrVec;
typedef sqvector<SQInteger> SQIntVec; typedef sqvector<SQInteger> SQIntVec;
const SQChar *GetTypeName(const SQObjectPtr &obj1); std::string_view GetTypeName(const SQObjectPtr &obj1);
const SQChar *IdType2Name(SQObjectType type); std::string_view IdType2Name(SQObjectType type);

View File

@ -87,7 +87,7 @@ enum SQOpcode
}; };
struct SQInstructionDesc { struct SQInstructionDesc {
const SQChar *name; std::string_view name;
}; };
struct SQInstruction struct SQInstruction

View File

@ -18,7 +18,7 @@ public:
std::span<char> Span() { return std::span<char>(this->_val, this->_len); } std::span<char> Span() { return std::span<char>(this->_val, this->_len); }
private: private:
SQInteger _len; SQInteger _len;
SQChar _val[1]; char _val[1];
}; };

View File

@ -31,7 +31,7 @@ struct SQUserData : SQDelegable
SQInteger _size; SQInteger _size;
SQRELEASEHOOK _hook; SQRELEASEHOOK _hook;
SQUserPointer _typetag; SQUserPointer _typetag;
SQChar _val[1]; char _val[1];
}; };
#endif //_SQUSERDATA_H_ #endif //_SQUSERDATA_H_