typedef unsigned int ruint32;
typedef signed long long rint64;
typedef unsigned long long ruint64;
-typedef unsigned long ratomic_t;
+typedef long ratomic_t;
typedef unsigned long rword;
typedef long rsword;
int wmain(int argc, const wchar_t* argv[])
{
unsigned long sckb;
- int ret, scanned = 0, i;
+ int ret, scanned = 0;
+ long i;
rpa_grep_t *pGrep = NULL;
- DWORD eticks, bticks = GetTickCount();
rarray_t *buffers;
buffers = r_array_create(sizeof(rpa_buffer_t *));
if (wcscmp(argv[i], L"--dump-code") == 0) {
if (rpa_dbex_compile(pGrep->hDbex) == 0) {
if (++i < argc) {
- rpa_dbex_dumpcode(pGrep->hDbex, rpa_dbex_lookup_s(pGrep->hDbex, argv[i]));
+ rpa_buffer_t *code = rpa_buffer_from_wchar(argv[i]);
+ rpa_dbex_dumpcode(pGrep->hDbex, rpa_dbex_lookup_s(pGrep->hDbex, code->s));
+ rpa_buffer_destroy(code);
}
}
goto end;
}
end:
- for (i = 0; i < r_array_length(buffers); i++) {
+ for (i = 0; i < (long)r_array_length(buffers); i++) {
rpa_buffer_destroy(r_array_index(buffers, i, rpa_buffer_t*));
}
r_object_destroy((robject_t*)buffers);
if (pGrep->showtime) {
unsigned long milsec;
unsigned long minutes;
- float sec;
+ double sec;
milsec = pGrep->scanmilisec;
if (milsec == 0)
milsec = 1;
void rjs_engine_destroy(rjs_engine_t *jse)
{
- long i;
+ rsize_t i;
if (jse) {
if (jse->cgs) {
for (i = 0; i < r_array_length(jse->cgs); i++) {
void rjs_display_errors(rjs_engine_t *jse, rstr_t *script)
{
- long i;
+ rsize_t i;
rjs_error_t *err;
for (i = 0; i < r_array_length(jse->errors); i++) {
if (NULL == pMappedView)
goto error;
buf->size = (rsize_t)fileSize;
- buf->str = (char*)r_zmalloc(fileSize + 1);
+ buf->str = (char*)r_zmalloc((rsize_t)fileSize + 1);
if (!buf->str)
goto error;
- r_memcpy(buf->str, pMappedView, fileSize);
+ r_memcpy(buf->str, pMappedView, (rsize_t)fileSize);
if (hMapping)
CloseHandle(hMapping);
if (hFile != INVALID_HANDLE_VALUE)
}
-int r_array_move(rarray_t *array, long dest, long src, long size)
+int r_array_move(rarray_t *array, rsize_t dest, rsize_t src, rsize_t size)
{
- long i;
+ rsize_t i;
if (src == dest)
return 0;
if (r_array_length(array) <= src || size <= 0)
rarray_t *r_array_create(rsize_t elt_size);
void r_array_destroy(rarray_t *array);
rsize_t r_array_add(rarray_t *array, rconstpointer data);
-int r_array_move(rarray_t *array, long dest, long src, long size);
+int r_array_move(rarray_t *array, rsize_t dest, rsize_t src, rsize_t size);
rsize_t r_array_removelast(rarray_t *array);
rsize_t r_array_insert(rarray_t *array, rsize_t index, rconstpointer data);
rsize_t r_array_replace(rarray_t *array, rsize_t index, rconstpointer data);
void r_carray_cleanup(robject_t *obj)
{
- int i;
+ rsize_t i;
rcarray_t *carray = (rcarray_t *)obj;
if (carray->oncleanup)
carray->oncleanup(carray);
robject_t *r_harray_copy(const robject_t *obj)
{
rharray_t *harray;
- int i;
+ unsigned long i;
rstr_t *n;
const rharray_t *src = (const rharray_t *)obj;
void r_hash_removeall(rhash_t* hash)
{
- unsigned int nbucket;
+ rsize_t nbucket;
rhead_t *head;
rhash_node_t *node;
#define R_HASH_INVALID_INDEXVAL ((unsigned long)-1)
-#define r_hash_size(__h__) (1 << (__h__)->nbits)
+#define r_hash_size(__h__) (((rsize_t)1) << (__h__)->nbits)
#define r_hash_mask(__h__) (r_hash_size(__h__) - 1)
rhash_t *r_hash_create(unsigned int nbits, r_hash_equalfunc eqfunc, r_hash_hashfun hfunc);
void r_hash_destroy(rhash_t* hash);
static int rpa_dbex_setemit(rpadbex_t *dbex, rboolean emit)
{
- long i;
+ rsize_t i;
rpa_ruleinfo_t *info;
for (i = 0; i < r_array_length(dbex->rules->names); i++) {
void rpa_dbex_destroy(rpadbex_t *dbex)
{
- int i;
+ rsize_t i;
if (dbex) {
for (i = 0; i < r_array_length(dbex->text); i++)
r_free(r_array_index(dbex->text, i, char*));
if (parent == loopto && inderction > 0)
return 1;
- for (i = 0; i < r_array_length(dbex->recstack); i++) {
+ for (i = 0; i < (long)r_array_length(dbex->recstack); i++) {
if (parent == r_array_index(dbex->recstack, i, long))
return 0;
}
rparecord_t *rec;
rpa_ruleinfo_t info;
unsigned int nrecords;
- long i;
const char *name = NULL;
rsize_t namesize = 0;
+ rsize_t i;
if (dbex->rules) {
r_object_destroy((robject_t *)dbex->rules);
static rparecord_t *rpa_dbex_record(rpadbex_t *dbex, long rec)
{
- rparecord_t *prec;
-
if (!dbex || !dbex->rules)
return NULL;
- if (rec < 0 || rec >= r_array_length(dbex->records))
- return NULL;
- prec = (rparecord_t *)r_array_slot(dbex->records, rec);
- return prec;
-
+ return rpa_record_get(dbex->records, rec);
}
if (!info)
return NULL;
rec = info->startrec + info->sizerecs - 1;
- if (rec < 0 || rec >= r_array_length(dbex->records))
+ if (rec < 0 || rec >= (rparule_t)r_array_length(dbex->records))
return NULL;
prec = (rparecord_t *)r_array_slot(dbex->records, rec);
return prec;
static int rpa_dbex_findinlined(rpadbex_t *dbex, long startrec)
{
- long i;
+ rsize_t i;
for (i = 0; i < r_array_length(dbex->inlinestack); i++) {
if (r_array_index(dbex->inlinestack, i, long) == startrec)
return 1;
int rpa_dbex_dumprecords(rpadbex_t *dbex)
{
- long i;
+ rsize_t i;
if (!dbex)
return -1;
int rpa_dbex_dumpinfo(rpadbex_t *dbex)
{
- long i;
+ rsize_t i;
rpa_ruleinfo_t *info;
if (!dbex)
int rpa_dbex_dumpuids(rpadbex_t *dbex)
{
- long i;
+ rsize_t i;
long rec;
rpa_ruleinfo_t *info;
char *buffer = r_zmalloc(32 * sizeof(char));
RPA_DBEX_SETERRINFO_CODE(dbex, RPA_E_NOTCLOSED);
return NULL;
}
- if (rid >= r_array_length(dbex->rules->members))
+ if (rid >= (rparule_t)r_array_length(dbex->rules->members))
return NULL;
name = r_array_index(dbex->rules->names, rid, rstr_t*);
return name->str;
}
++rid;
- if (rid < r_array_length(dbex->rules->members))
+ if (rid < (rparule_t)r_array_length(dbex->rules->members))
return rid;
return -1;
}
if (!records)
return NULL;
- if (rec < 0 || rec >= r_array_length(records))
+ if (rec < 0 || rec >= (long) r_array_length(records))
return NULL;
prec = (rparecord_t *)r_array_slot(records, rec);
return prec;
unsigned int startrec = (type & RPA_RECORD_START) ? 1 : 0;
rparecord_t *prec;
- if (rec < 0 || rec >= r_array_length(records))
+ if (rec < 0 || rec >= (long)r_array_length(records))
return -1;
prec = (rparecord_t *)r_array_slot(records, rec);
if ((prec->type & RPA_RECORD_START)) {
if (startrec)
return rec;
- for (s = 0, i = rec; i < r_array_length(records); i++) {
+ for (s = 0, i = rec; i < (long)r_array_length(records); i++) {
prec = (rparecord_t *)r_array_slot(records, i);
if (prec->type & RPA_RECORD_START)
++s;
{
rparecord_t *prec;
- if (rec < 0 || rec >= r_array_length(records))
+ if (rec < 0 || rec >= (long)r_array_length(records))
return -1;
prec = (rparecord_t *)r_array_slot(records, rec);
if (prec->type & RPA_RECORD_END) {
if ((rec = rpa_recordtree_get(records, rec, RPA_RECORD_START)) < 0)
return -1;
}
- if (++rec >= r_array_length(records))
+ if (++rec >= (long)r_array_length(records))
return -1;
prec = (rparecord_t *)r_array_slot(records, rec);
if (prec->type & RPA_RECORD_START)
{
rparecord_t *prec;
- if (rec < 0 || rec >= r_array_length(records))
+ if (rec < 0 || rec >= (long)r_array_length(records))
return -1;
prec = (rparecord_t *)r_array_slot(records, rec);
if (prec->type & RPA_RECORD_START) {
{
rparecord_t *prec;
- if (rec < 0 || rec >= r_array_length(records))
+ if (rec < 0 || rec >= (long)r_array_length(records))
return -1;
prec = (rparecord_t *)r_array_slot(records, rec);
if (prec->type & RPA_RECORD_START) {
if ((rec = rpa_recordtree_get(records, rec, RPA_RECORD_END)) < 0)
return -1;
}
- if (++rec >= r_array_length(records))
+ if (++rec >= (long)r_array_length(records))
return -1;
prec = (rparecord_t *)r_array_slot(records, rec);
if (prec->type & RPA_RECORD_START)
{
rparecord_t *prec;
- if (rec < 0 || rec >= r_array_length(records))
+ if (rec < 0 || rec >= (long)r_array_length(records))
return -1;
prec = (rparecord_t *)r_array_slot(records, rec);
if (prec->type & RPA_RECORD_END) {
{
long last = -1, parent = -1;
- if (rec < 0 || rec >= r_array_length(records))
+ if (rec < 0 || rec >= (long)r_array_length(records))
return -1;
for ( ;rec >= 0; rec = rpa_recordtree_next(records, last, RPA_RECORD_END)) {
last = rpa_recordtree_get(records, rec, RPA_RECORD_END);
}
parent = last + 1;
- if (parent >= r_array_length(records))
+ if (parent >= (long)r_array_length(records))
return -1;
return rpa_recordtree_get(records, parent, type);
}
if (rec < 0)
return -1;
rec = rpa_recordtree_get(records, rec, RPA_RECORD_START);
- if (rec >= r_array_length(records))
+ if (rec >= (long)r_array_length(records))
return -1;
prec = (rparecord_t *)r_array_slot(records, rec);
return prec->ruleuid;
if (rec < 0)
return;
rec = rpa_recordtree_get(records, rec, RPA_RECORD_START);
- if (rec >= r_array_length(records))
+ if (rec >= (long)r_array_length(records))
return;
prec = (rparecord_t *)r_array_slot(records, rec);
rpa_recordptr_setusertype(prec, usertype, op);
rec = rpa_recordtree_get(records, rec, RPA_RECORD_END);
- if (rec >= r_array_length(records))
+ if (rec >= (long)r_array_length(records))
return;
prec = (rparecord_t *)r_array_slot(records, rec);
rpa_recordptr_setusertype(prec, usertype, op);
if (rec < 0)
return -1;
rec = rpa_recordtree_get(records, rec, RPA_RECORD_START);
- if (rec >= r_array_length(records))
+ if (rec >= (long)r_array_length(records))
return -1;
prec = (rparecord_t *)r_array_slot(records, rec);
return prec->usertype;
int n = 0, size;
char optc = ' ';
- if (rec < 0 || rec >= r_array_length(records))
+ if (rec < 0 || rec >= (long)r_array_length(records))
return;
prec = (rparecord_t *)r_array_slot(records, rec);
if (prec->type & RPA_RECORD_END) {
rparecord_t *prec;
int i, size;
- if (rec < 0 || rec >= r_array_length(records))
+ if (rec < 0 || rec >= (long)r_array_length(records))
return;
r_memset(buffer, 0, sizeof(buffer));
prec = (rparecord_t *)r_array_slot(records, rec);
long rpa_records_length(rarray_t *records)
{
- return r_array_length(records);
+ return (long)r_array_length(records);
}
rparecord_t *rpa_records_slot(rarray_t *records, long index)
{
- if (index < 0 || index >= r_array_length(records))
+ if (index < 0 || index >= (long)r_array_length(records))
return NULL;
return (rparecord_t *)r_array_slot(records, index);
}
if (r0 > 0) {
if (entry->recsize) {
- long i;
+ rsize_t i;
if (stat->records) {
r_array_setlength(stat->records, RVM_CPUREG_GETL(cpu, R_REC) + 1);
for (i = 0; i < r_array_length(entry->records); i++) {
void rvm_codemap_clear(rvm_codemap_t *codemap)
{
- long i;
+ rsize_t i;
rvm_codelabel_t *label;
for (i = 0; i < r_array_length(codemap->labels); i++) {
rvm_codelabel_t *rvm_codemap_label(rvm_codemap_t *codemap, long index)
{
- if (index < 0 || index >= r_array_length(codemap->labels))
+ if (index < 0 || index >= (long)r_array_length(codemap->labels))
return NULL;
return (rvm_codelabel_t*)r_array_slot(codemap->labels, index);
}
void rvm_codemap_dump(rvm_codemap_t *codemap)
{
- int i = 0;
+ rsize_t i = 0;
for (i = 0; i < r_array_length(codemap->labels); i++) {
rvm_codelabel_t *label = rvm_codemap_label(codemap, i);
}
-int rvm_asm_dump_reg_to_str(unsigned char reg, char *str, unsigned int size)
+int rvm_asm_dump_reg_to_str(unsigned int reg, char *str, unsigned int size)
{
int ret = 0;
{
int nswi;
rvm_switable_t *swientry;
- long ntable;
+ rsize_t ntable;
for (ntable = 0; ntable < r_harray_length(cpu->switables); ntable++) {
swientry = r_harray_index(cpu->switables, ntable, rvm_switable_t*);
a.op1 = (ruint8)op1;
a.op2 = (ruint8)op2;
a.op3 = (ruint8)op3;
- a.cond = cond;
+ a.cond = (ruint8)cond;
rvm_reg_setstrptr(&a.data, data, size);
if ((ruint8)op1 == DA || (ruint8)op2 == DA || (ruint8)op3 == DA)
a.da = 1;
a.op1 = (ruint8)op1;
a.op2 = (ruint8)op2;
a.op3 = (ruint8)op3;
- a.cond = cond;
+ a.cond = (ruint8)cond;
rvm_reg_setpointer(&a.data, data);
if ((ruint8)op1 == DA || (ruint8)op2 == DA || (ruint8)op3 == DA)
a.da = 1;
a.op1 = (ruint8)op1;
a.op2 = (ruint8)op2;
a.op3 = (ruint8)op3;
- a.cond = cond;
+ a.cond = (ruint8)cond;
rvm_reg_setunsigned(&a.data, data);
RVM_REG_SETTYPE(&a.data, RVM_DTYPE_SWIID)
if ((ruint8)op1 == DA || (ruint8)op2 == DA || (ruint8)op3 == DA)
a.op1 = (ruint8)op1;
a.op2 = (ruint8)op2;
a.op3 = (ruint8)op3;
- a.cond = cond;
+ a.cond = (ruint8)cond;
rvm_reg_setunsigned(&a.data, data);
RVM_REG_SETTYPE(&a.data, RVM_DTYPE_FUNCTION)
if ((ruint8)op1 == DA || (ruint8)op2 == DA || (ruint8)op3 == DA)
a.op1 = (ruint8)op1;
a.op2 = (ruint8)op2;
a.op3 = (ruint8)op3;
- a.cond = cond;
+ a.cond = (ruint8)cond;
rvm_reg_setunsigned(&a.data, data);
if ((ruint8)op1 == DA || (ruint8)op2 == DA || (ruint8)op3 == DA)
a.da = 1;
a.op1 = (ruint8)op1;
a.op2 = (ruint8)op2;
a.op3 = (ruint8)op3;
- a.cond = cond;
+ a.cond = (ruint8)cond;
rvm_reg_setlong(&a.data, data);
if ((ruint8)op1 == DA || (ruint8)op2 == DA || (ruint8)op3 == DA)
a.da = 1;
a.op1 = (ruint8)op1;
a.op2 = (ruint8)op2;
a.op3 = (ruint8)op3;
- a.cond = cond;
+ a.cond = (ruint8)cond;
rvm_reg_setboolean(&a.data, data);
if ((ruint8)op1 == DA || (ruint8)op2 == DA || (ruint8)op3 == DA)
a.da = 1;
a.op1 = (ruint8)op1;
a.op2 = (ruint8)op2;
a.op3 = (ruint8)op3;
- a.cond = cond;
+ a.cond = (ruint8)cond;
rvm_reg_setdouble(&a.data, data);
if ((ruint8)op1 == DA || (ruint8)op2 == DA || (ruint8)op3 == DA)
a.da = 1;
a.op1 = (ruint8)op1;
a.op2 = (ruint8)op2;
a.op3 = (ruint8)op3;
- a.cond = cond;
+ a.cond = (ruint8)cond;
rvm_reg_setpair(&a.data, p1, p2);
if ((ruint8)op1 == DA || (ruint8)op2 == DA || (ruint8)op3 == DA)
a.da = 1;
void rvm_opmap_destroy(rvm_opmap_t *opmap)
{
- int i;
+ rsize_t i;
rvm_opinfo_t *opinfo;
-
if (!opmap)
return;
for (i = 0; i < r_array_length(opmap->operators); i++) {
void rvm_op_and_double(rvmcpu_t *cpu, unsigned short opid, rvmreg_t *res, double op1, double op2)
{
- rvm_op_and_long(cpu, opid, res, op1, op2);
+ rvm_op_and_long(cpu, opid, res, (long)op1, (long)op2);
}
void rvm_op_lsl_double(rvmcpu_t *cpu, unsigned short opid, rvmreg_t *res, double op1, double op2)
{
- rvm_op_lsl_long(cpu, opid, res, op1, op2);
+ rvm_op_lsl_long(cpu, opid, res, (long)op1, (long)op2);
}
void rvm_op_lsr_double(rvmcpu_t *cpu, unsigned short opid, rvmreg_t *res, double op1, double op2)
{
- rvm_op_lsr_long(cpu, opid, res, op1, op2);
+ rvm_op_lsr_long(cpu, opid, res, (long)op1, (long)op2);
}
void rvm_op_lsru_double(rvmcpu_t *cpu, unsigned short opid, rvmreg_t *res, double op1, double op2)
{
- rvm_op_lsru_unsigned(cpu, opid, res, op1, op2);
+ rvm_op_lsru_unsigned(cpu, opid, res, (rword)((long)op1), (rword)((long)op2));
}
void rvm_op_or_double(rvmcpu_t *cpu, unsigned short opid, rvmreg_t *res, double op1, double op2)
{
- rvm_op_or_long(cpu, opid, res, op1, op2);
+ rvm_op_or_long(cpu, opid, res, (long)op1, (long)op2);
}
void rvm_op_xor_double(rvmcpu_t *cpu, unsigned short opid, rvmreg_t *res, double op1, double op2)
{
- rvm_op_xor_long(cpu, opid, res, op1, op2);
+ rvm_op_xor_long(cpu, opid, res, (long)op1, (long)op2);
}
*/
void rvm_reg_array_unref_gcdata(robject_t *obj)
{
- unsigned int size;
- int i;
+ rsize_t i, size;
rvmreg_t *r;
if (obj->type == R_OBJECT_ARRAY) {
int rvm_relocmap_relocate(rvm_relocmap_t *relocmap, rvm_codemap_t *codemap, rvm_asmins_t *code, rvm_codelabel_t **err)
{
- long index;
+ rsize_t index;
rvm_relocrecord_t *reloc;
rword value;