summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorMasaki Muranaka <[email protected]>2012-06-21 11:17:16 +0900
committerMasaki Muranaka <[email protected]>2012-06-21 11:17:16 +0900
commitaa1bbe67b67b36bdc449255c6ebb1c48c4c0a7db (patch)
treea8f6f7595149a714765524f36458bf8d390548ab /src
parente61bdbe3960aa471a8b4e5d8a89614d1433959aa (diff)
downloadmruby-aa1bbe67b67b36bdc449255c6ebb1c48c4c0a7db.tar.gz
mruby-aa1bbe67b67b36bdc449255c6ebb1c48c4c0a7db.zip
Simplify. Should not use strlen() as possible. It needs complexity.
Diffstat (limited to 'src')
-rw-r--r--src/codegen.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/src/codegen.c b/src/codegen.c
index e6c339521..3374b2e7f 100644
--- a/src/codegen.c
+++ b/src/codegen.c
@@ -633,31 +633,31 @@ gen_call(codegen_scope *s, node *tree, mrb_sym name, int sp, int val)
{
const char *name = mrb_sym2name(s->mrb, sym);
- if (!noop && name[0] == '+' && strlen(name) == 1) {
+ if (!noop && name[0] == '+' && name[1] == '\0') {
genop(s, MKOP_ABC(OP_ADD, cursp(), idx, n));
}
- else if (!noop && name[0] == '-' && strlen(name) == 1) {
+ else if (!noop && name[0] == '-' && name[1] == '\0') {
genop(s, MKOP_ABC(OP_SUB, cursp(), idx, n));
}
- else if (!noop && name[0] == '*' && strlen(name) == 1) {
+ else if (!noop && name[0] == '*' && name[1] == '\0') {
genop(s, MKOP_ABC(OP_MUL, cursp(), idx, n));
}
- else if (!noop && name[0] == '/' && strlen(name) == 1) {
+ else if (!noop && name[0] == '/' && name[1] == '\0') {
genop(s, MKOP_ABC(OP_DIV, cursp(), idx, n));
}
- else if (!noop && name[0] == '<' && strlen(name) == 1) {
+ else if (!noop && name[0] == '<' && name[1] == '\0') {
genop(s, MKOP_ABC(OP_LT, cursp(), idx, n));
}
- else if (!noop && name[0] == '<' && strlen(name) == 2 && name[1] == '=') {
+ else if (!noop && name[0] == '<' && name[1] == '=' && name[2] == '\0') {
genop(s, MKOP_ABC(OP_LE, cursp(), idx, n));
}
- else if (!noop && name[0] == '>' && strlen(name) == 1) {
+ else if (!noop && name[0] == '>' && name[1] == '\0') {
genop(s, MKOP_ABC(OP_GT, cursp(), idx, n));
}
- else if (!noop && name[0] == '>' && strlen(name) == 2 && name[1] == '=') {
+ else if (!noop && name[0] == '>' && name[1] == '=' && name[2] == '\0') {
genop(s, MKOP_ABC(OP_GE, cursp(), idx, n));
}
- else if (!noop && name[0] == '=' && strlen(name) == 2 && name[1] == '=') {
+ else if (!noop && name[0] == '=' && name[1] == '=' && name[2] == '\0') {
genop(s, MKOP_ABC(OP_EQ, cursp(), idx, n));
}
else {
@@ -1258,8 +1258,8 @@ codegen(codegen_scope *s, node *tree, int val)
int idx;
codegen(s, tree->car, VAL);
- if ((name[0] == '|' && strlen(name) == 2 && name[1] == '|') ||
- (name[0] == '&' && strlen(name) == 2 && name[1] == '&')) {
+ if ((name[0] == '|' && name[1] == '|' && name[2] == '\0') ||
+ (name[0] == '&' && name[1] == '&' && name[2] == '\0')) {
int pos;
pop();
@@ -1276,22 +1276,22 @@ codegen(codegen_scope *s, node *tree, int val)
pop(); pop();
idx = new_msym(s, sym);
- if (name[0] == '+' && strlen(name) == 1) {
+ if (name[0] == '+' && name[1] == '\0') {
genop(s, MKOP_ABC(OP_ADD, cursp(), idx, 1));
}
- else if (name[0] == '-' && strlen(name) == 1) {
+ else if (name[0] == '-' && name[1] == '\0') {
genop(s, MKOP_ABC(OP_SUB, cursp(), idx, 1));
}
- else if (name[0] == '<' && strlen(name) == 1) {
+ else if (name[0] == '<' && name[1] == '\0') {
genop(s, MKOP_ABC(OP_LT, cursp(), idx, 1));
}
- else if (name[0] == '<' && strlen(name) == 2 && name[1] == '=') {
+ else if (name[0] == '<' && name[1] == '=' && name[2] == '\0') {
genop(s, MKOP_ABC(OP_LE, cursp(), idx, 1));
}
- else if (name[0] == '>' && strlen(name) == 1) {
+ else if (name[0] == '>' && name[1] == '\0') {
genop(s, MKOP_ABC(OP_GT, cursp(), idx, 1));
}
- else if (name[0] == '>' && strlen(name) == 2 && name[1] == '=') {
+ else if (name[0] == '>' && name[1] == '=' && name[2] == '\0') {
genop(s, MKOP_ABC(OP_GE, cursp(), idx, 1));
}
else {