char* prog_getstring(qc_program *prog, qcint str)
{
- if (str < 0 || str >= vec_size(prog->strings))
+ if (str < 0 || str >= (qcint)vec_size(prog->strings))
return "<<<invalid string>>>";
return prog->strings + str;
}
qcany* prog_getedict(qc_program *prog, qcint e)
{
- if (e >= vec_size(prog->entitypool)) {
+ if (e >= (qcint)vec_size(prog->entitypool)) {
prog->vmerror++;
printf("Accessing out of bounds edict %i\n", (int)e);
e = 0;
printf("Trying to free world entity\n");
return;
}
- if (e >= vec_size(prog->entitypool)) {
+ if (e >= (qcint)vec_size(prog->entitypool)) {
prog->vmerror++;
printf("Trying to free out of bounds entity\n");
return;
return at;
}
-static int print_escaped_string(const char *str, size_t maxlen)
+static size_t print_escaped_string(const char *str, size_t maxlen)
{
- int len = 2;
+ size_t len = 2;
putchar('"');
--maxlen; /* because we're lazy and have escape sequences */
while (*str) {
def = prog_getdef(prog, glob);
value = (qcany*)(&prog->globals[glob]);
+ len = printf("[@%u] ", glob);
if (def) {
const char *name = prog_getstring(prog, def->name);
if (name[0] == '#')
- len = printf("$");
+ len += printf("$");
else
- len = printf("%s ", name);
+ len += printf("%s ", name);
vtype = def->type & DEF_TYPEMASK;
}
- else
- len = printf("[@%u] ", glob);
switch (vtype) {
case TYPE_VOID:
break;
}
done:
- if (len < sizeof(spaces)-1) {
+ if (len < (int)sizeof(spaces)-1) {
spaces[sizeof(spaces)-1-len] = 0;
printf(spaces);
spaces[sizeof(spaces)-1-len] = ' ';
{
size_t i;
const char *laststr = NULL;
- for (i = 0; i < prog->argc; ++i) {
+ for (i = 0; i < (size_t)prog->argc; ++i) {
qcany *str = (qcany*)(prog->globals + OFS_PARM0 + 3*i);
printf("%s", (laststr = prog_getstring(prog, str->string)));
}
qcany *vec, len;
CheckArgs(1);
vec = GetArg(0);
- len._float = sqrt(vec->vector[0] * vec->vector[0] +
+ len._float = sqrt(vec->vector[0] * vec->vector[0] +
vec->vector[1] * vec->vector[1] +
vec->vector[2] * vec->vector[2]);
Return(len);
prog->builtins_count = qc_builtins_count;
if (opts_info) {
- printf("Program's system-checksum = 0x%04x\n", (int)prog->crc16);
- printf("Entity field space: %i\n", (int)prog->entityfields);
+ printf("Program's system-checksum = 0x%04x\n", (unsigned int)prog->crc16);
+ printf("Entity field space: %u\n", (unsigned int)prog->entityfields);
+ printf("Globals: %u\n", (unsigned int)vec_size(prog->globals));
}
for (i = 1; i < vec_size(prog->functions); ++i) {
qcvmerror(prog, "progs `%s` attempted to read an out of bounds entity", prog->filename);
goto cleanup;
}
- if (OPB->_int < 0 || OPB->_int + 3 > prog->entityfields)
+ if (OPB->_int < 0 || OPB->_int + 3 > (qcint)prog->entityfields)
{
qcvmerror(prog, "prog `%s` attempted to read an invalid field from entity (%i)",
prog->filename,
case INSTR_STOREP_ENT:
case INSTR_STOREP_FLD:
case INSTR_STOREP_FNC:
- if (OPB->_int < 0 || OPB->_int >= vec_size(prog->entitydata)) {
+ if (OPB->_int < 0 || OPB->_int >= (qcint)vec_size(prog->entitydata)) {
qcvmerror(prog, "`%s` attempted to write to an out of bounds edict (%i)", prog->filename, OPB->_int);
goto cleanup;
}
- if (OPB->_int < prog->entityfields && !prog->allowworldwrites)
+ if (OPB->_int < (qcint)prog->entityfields && !prog->allowworldwrites)
qcvmerror(prog, "`%s` tried to assign to world.%s (field %i)\n",
prog->filename,
prog_getstring(prog, prog_entfield(prog, OPB->_int)->name),
ptr->_int = OPA->_int;
break;
case INSTR_STOREP_V:
- if (OPB->_int < 0 || OPB->_int + 2 >= vec_size(prog->entitydata)) {
+ if (OPB->_int < 0 || OPB->_int + 2 >= (qcint)vec_size(prog->entitydata)) {
qcvmerror(prog, "`%s` attempted to write to an out of bounds edict (%i)", prog->filename, OPB->_int);
goto cleanup;
}
- if (OPB->_int < prog->entityfields && !prog->allowworldwrites)
+ if (OPB->_int < (qcint)prog->entityfields && !prog->allowworldwrites)
qcvmerror(prog, "`%s` tried to assign to world.%s (field %i)\n",
prog->filename,
prog_getstring(prog, prog_entfield(prog, OPB->_int)->name),
if (!OPA->function)
qcvmerror(prog, "NULL function in `%s`", prog->filename);
- if(!OPA->function || OPA->function >= (unsigned int)vec_size(prog->functions))
+ if(!OPA->function || OPA->function >= (qcint)vec_size(prog->functions))
{
qcvmerror(prog, "CALL outside the program in `%s`", prog->filename);
goto cleanup;
if (newf->entry < 0)
{
/* negative statements are built in functions */
- int builtinnumber = -newf->entry;
- if (builtinnumber < prog->builtins_count && prog->builtins[builtinnumber])
+ qcint builtinnumber = -newf->entry;
+ if (builtinnumber < (qcint)prog->builtins_count && prog->builtins[builtinnumber])
prog->builtins[builtinnumber](prog);
else
qcvmerror(prog, "No such builtin #%i in %s! Try updating your gmqcc sources",