summaryrefslogtreecommitdiff
path: root/src/arch/processor.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2009-04-25 16:51:41 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2009-04-25 16:51:41 (GMT)
commitb9977e00ff9eb6e025e86a15c858183f3f314cf5 (patch)
treeeedacb236b90228d2b4c603fa9875ecaad05ee29 /src/arch/processor.c
parent216a3d0121fabd678e50ea6b4fa2447ae9b921f0 (diff)
Saved the current work on plugins.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@59 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch/processor.c')
-rw-r--r--src/arch/processor.c64
1 files changed, 8 insertions, 56 deletions
diff --git a/src/arch/processor.c b/src/arch/processor.c
index d367949..a67986d 100644
--- a/src/arch/processor.c
+++ b/src/arch/processor.c
@@ -24,16 +24,21 @@
#include "processor.h"
-#include <regex.h>
-#include <string.h>
#include "instruction-int.h"
#include "processor-int.h"
+#include "x86/processor.h"
+asm_processor *create_processor(void)
+{
+ return create_x86_processor();
+
+}
+
/******************************************************************************
@@ -72,7 +77,7 @@ asm_instr *decode_instruction(const asm_processor *proc, const uint8_t *data, of
{
*pos = old_pos;
- printf("err while decoding opcode 0x%02hhx at 0x%08llx\n", data[*pos], offset);
+ //printf("err while decoding opcode 0x%02hhx at 0x%08llx\n", data[*pos], offset);
result = create_db_instruction(data, pos, len);
}
@@ -88,59 +93,6 @@ asm_instr *decode_instruction(const asm_processor *proc, const uint8_t *data, of
}
-/******************************************************************************
-* *
-* Paramètres : input = chaîne de caractères à traiter. *
-* *
-* Description : S'assure qu'une chaîne de caractère tient sur une ligne. *
-* *
-* Retour : Adresse de la chaîne de caractères modifiée. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-char *escape_crlf_bin_string(char *input)
-{
- size_t inlen;
- regex_t preg;
- int ret;
- size_t curpos;
- regmatch_t pmatch[2];
-
- inlen = strlen(input);
-
- ret = regcomp(&preg, "(\t|\n|\r)", REG_EXTENDED | REG_ICASE);
- /* TODO: ret */
-
- for (curpos = 0; regexec(&preg, &input[curpos], 2, pmatch, 0) != REG_NOMATCH; )
- {
- inlen += 1 + 1;
- input = (char *)realloc(input, inlen * sizeof(char *));
-
- memmove(&input[curpos + pmatch[1].rm_eo + 1], &input[curpos + pmatch[1].rm_eo], inlen - 1 - curpos - pmatch[1].rm_eo);
-
- switch (input[curpos + pmatch[1].rm_so])
- {
- case '\t':
- memcpy(&input[curpos + pmatch[1].rm_so], "\\t", 2);
- break;
- case '\n':
- memcpy(&input[curpos + pmatch[1].rm_so], "\\n", 2);
- break;
- case '\r':
- memcpy(&input[curpos + pmatch[1].rm_so], "\\r", 2);
- break;
- }
-
- curpos += pmatch[1].rm_eo + 1;
-
- }
-
- return input;
-
-}
-
/******************************************************************************
* *