diff --git a/src/asm/main.c b/src/asm/main.c index ad59fe9b..a57f37b7 100644 --- a/src/asm/main.c +++ b/src/asm/main.c @@ -182,7 +182,7 @@ int main(int argc, char *argv[]) switch (ch) { case 'b': if (strlen(musl_optarg) == 2) - opt_B(&musl_optarg[1]); + opt_B(musl_optarg); else errx("Must specify exactly 2 characters for option 'b'"); break; @@ -204,7 +204,7 @@ int main(int argc, char *argv[]) case 'g': if (strlen(musl_optarg) == 4) - opt_G(&musl_optarg[1]); + opt_G(musl_optarg); else errx("Must specify exactly 4 characters for option 'g'"); break; diff --git a/test/asm/opt-b.asm b/test/asm/opt-b.asm index 4b102ee1..b1827925 100644 --- a/test/asm/opt-b.asm +++ b/test/asm/opt-b.asm @@ -1,2 +1,4 @@ +PRINTLN %Oo_Oo_Oo + OPT b.X -PRINTLN %..X.X.X. +PRINTLN %..X._X.X. diff --git a/test/asm/opt-b.flags b/test/asm/opt-b.flags new file mode 100644 index 00000000..0e6951e7 --- /dev/null +++ b/test/asm/opt-b.flags @@ -0,0 +1 @@ +-Weverything -b oO diff --git a/test/asm/opt-b.out b/test/asm/opt-b.out index 72555870..11227d1f 100644 --- a/test/asm/opt-b.out +++ b/test/asm/opt-b.out @@ -1 +1,2 @@ $2A +$2A diff --git a/test/asm/opt-g.asm b/test/asm/opt-g.asm index 660eb249..a94c8bf7 100644 --- a/test/asm/opt-g.asm +++ b/test/asm/opt-g.asm @@ -1,2 +1,4 @@ +PRINTLN `pqpq_rsrs + OPT g.x0X -PRINTLN `.x.x0X0X +PRINTLN `.x.x_0X0X diff --git a/test/asm/opt-g.flags b/test/asm/opt-g.flags new file mode 100644 index 00000000..2135a091 --- /dev/null +++ b/test/asm/opt-g.flags @@ -0,0 +1 @@ +-Weverything -g pqrs diff --git a/test/asm/opt-g.out b/test/asm/opt-g.out index 78f6c0a7..a659e3b0 100644 --- a/test/asm/opt-g.out +++ b/test/asm/opt-g.out @@ -1 +1,2 @@ $F55 +$F55