Skip to content

Commit 26a4bc6

Browse files
committed
feat(x86): use rd_format_to instead of RD_LOG_FAIL_TO
1 parent b637226 commit 26a4bc6

2 files changed

Lines changed: 24 additions & 24 deletions

File tree

x86/encoder/encoder.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ bool x86_encode(RDContext* ctx, RDAddress address, const char* s,
2121

2222
if(!ZYAN_SUCCESS(ZydisEncoderEncodeInstructionAbsolute(
2323
&g.req, buffer, &length, (ZyanU64)address))) {
24-
RD_LOG_FAIL_TO(buf, "failed to encode '%s'", s);
24+
rd_format_to(buf, "failed to encode '%s'", s);
2525
return false;
2626
}
2727

x86/encoder/grammar.c

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -117,21 +117,21 @@ static bool _displ_operand_rule(RDLexer* lex, void* userdata) {
117117

118118
if(!first) {
119119
if(!rd_lexer_next(lex, &tok)) {
120-
RD_LOG_FAIL_TO(data->buf, "unterminated memory operand");
120+
rd_format_to(data->buf, "unterminated memory operand");
121121
return false;
122122
}
123123

124124
bool plus = tok.type == RD_TOK_PLUS;
125125
minus = tok.type == RD_TOK_MINUS;
126126

127127
if(!plus && !minus) {
128-
RD_LOG_FAIL_TO(data->buf, "expected '+' or '-'");
128+
rd_format_to(data->buf, "expected '+' or '-'");
129129
return false;
130130
}
131131
}
132132

133133
if(!rd_lexer_next(lex, &tok)) {
134-
RD_LOG_FAIL_TO(data->buf, "unterminated memory operand");
134+
rd_format_to(data->buf, "unterminated memory operand");
135135
return false;
136136
}
137137

@@ -143,21 +143,21 @@ static bool _displ_operand_rule(RDLexer* lex, void* userdata) {
143143
bool scaled = rd_lexer_try_consume(lex, RD_TOK_ASTERISK, &tok);
144144

145145
if(scaled && !rd_lexer_next_expect(lex, RD_TOK_NUMBER, &tok)) {
146-
RD_LOG_FAIL_TO(data->buf, "expected scale value after '*'");
146+
rd_format_to(data->buf, "expected scale value after '*'");
147147
return false;
148148
}
149149

150150
if(scaled) curr_scale = (u8)tok.u_value;
151151

152152
if(scaled || base != ZYDIS_REGISTER_NONE) {
153153
if(index != ZYDIS_REGISTER_NONE) {
154-
RD_LOG_FAIL_TO(data->buf,
155-
"only one index register is allowed");
154+
rd_format_to(data->buf,
155+
"only one index register is allowed");
156156
return false;
157157
}
158158

159159
if(reg == ZYDIS_REGISTER_ESP || reg == ZYDIS_REGISTER_RSP) {
160-
RD_LOG_FAIL_TO(
160+
rd_format_to(
161161
data->buf,
162162
"ESP/RSP cannot be used as an index register");
163163
return false;
@@ -174,7 +174,7 @@ static bool _displ_operand_rule(RDLexer* lex, void* userdata) {
174174

175175
RDAddress addr;
176176
if(!rd_get_address(data->ctx, name, &addr)) {
177-
RD_LOG_FAIL_TO(
177+
rd_format_to(
178178
data->buf,
179179
"unknown register or symbol '%s' in memory operand",
180180
name);
@@ -189,15 +189,15 @@ static bool _displ_operand_rule(RDLexer* lex, void* userdata) {
189189
}
190190
else if(tok.type == RD_TOK_NUMBER) {
191191
if(have_disp) {
192-
RD_LOG_FAIL_TO(data->buf, "only one displacement is allowed");
192+
rd_format_to(data->buf, "only one displacement is allowed");
193193
return false;
194194
}
195195

196196
disp = minus ? -(i64)tok.u_value : (i64)tok.u_value;
197197
have_disp = true;
198198
}
199199
else {
200-
RD_LOG_FAIL_TO(data->buf, "unexpected token in memory operand");
200+
rd_format_to(data->buf, "unexpected token in memory operand");
201201
return false;
202202
}
203203

@@ -206,7 +206,7 @@ static bool _displ_operand_rule(RDLexer* lex, void* userdata) {
206206

207207
if(base == ZYDIS_REGISTER_NONE && index == ZYDIS_REGISTER_NONE &&
208208
!have_disp) {
209-
RD_LOG_FAIL_TO(data->buf, "empty memory operand");
209+
rd_format_to(data->buf, "empty memory operand");
210210
return false;
211211
}
212212

@@ -226,14 +226,14 @@ bool x86_encoder_parse(RDLexer* lex, const char* s, X86GrammarData* data) {
226226

227227
RDToken tok;
228228
if(!rd_lexer_next_expect(lex, RD_TOK_IDENTIFIER, &tok)) {
229-
RD_LOG_FAIL_TO(data->buf, "expected mnemonic in '%s'", s);
229+
rd_format_to(data->buf, "expected mnemonic in '%s'", s);
230230
return false;
231231
}
232232

233233
ZydisMnemonic mnem = _x86_mnemonic_from_token(&tok);
234234
if(mnem == ZYDIS_MNEMONIC_INVALID) {
235-
RD_LOG_FAIL_TO(data->buf, "unknown mnemonic '%.*s' in '%s'",
236-
(int)tok.length, tok.value, s);
235+
rd_format_to(data->buf, "unknown mnemonic '%.*s' in '%s'",
236+
(int)tok.length, tok.value, s);
237237
return false;
238238
}
239239

@@ -249,28 +249,28 @@ bool x86_encoder_parse(RDLexer* lex, const char* s, X86GrammarData* data) {
249249
RDToken peek;
250250
if(rd_lexer_peek(lex, &peek)) {
251251
if(!rd_lexer_try_any(lex, OPERAND_ENTRIES, data)) {
252-
RD_LOG_FAIL_TO(data->buf, "expected operand in '%s'", s);
252+
rd_format_to(data->buf, "expected operand in '%s'", s);
253253
return false;
254254
}
255255

256256
while(rd_lexer_peek_expect(lex, RD_TOK_COMMA, &tok)) {
257257
rd_lexer_consume(lex);
258258

259259
if(data->req.operand_count >= ZYDIS_ENCODER_MAX_OPERANDS) {
260-
RD_LOG_FAIL_TO(data->buf, "too many operands in '%s'", s);
260+
rd_format_to(data->buf, "too many operands in '%s'", s);
261261
return false;
262262
}
263263

264264
if(!rd_lexer_try_any(lex, OPERAND_ENTRIES, data)) {
265-
RD_LOG_FAIL_TO(data->buf, "expected operand after ',' in '%s'",
266-
s);
265+
rd_format_to(data->buf, "expected operand after ',' in '%s'",
266+
s);
267267
return false;
268268
}
269269
}
270270
}
271271

272272
if(!rd_lexer_at_end(lex)) {
273-
RD_LOG_FAIL_TO(data->buf, "unexpected trailing input in '%s'", s);
273+
rd_format_to(data->buf, "unexpected trailing input in '%s'", s);
274274
return false;
275275
}
276276

@@ -290,10 +290,10 @@ bool x86_encoder_parse(RDLexer* lex, const char* s, X86GrammarData* data) {
290290
if(op->type != ZYDIS_OPERAND_TYPE_MEMORY || op->mem.size != 0) continue;
291291

292292
if(!reg_size) {
293-
RD_LOG_FAIL_TO(data->buf,
294-
"ambiguous memory operand size in '%s' "
295-
"specify byte/word/dword/qword ptr",
296-
s);
293+
rd_format_to(data->buf,
294+
"ambiguous memory operand size in '%s' "
295+
"specify byte/word/dword/qword ptr",
296+
s);
297297
return false;
298298
}
299299

0 commit comments

Comments
 (0)