#include "darray.h"
#include "exc.h"
+#include "macros.h"
DA_DECL(vec, int);
p = strtok(buf, " ");
TRY {
- if (strcmp(p, "push") == 0) {
+ if (STRCMP(p, ==, "push")) {
int n = atoi(strtok(0, " "));
DA_PUSH(&v, n);
- } else if (strcmp(p, "unshift") == 0) {
+ } else if (STRCMP(p, ==, "unshift")) {
int n = atoi(strtok(0, " "));
DA_UNSHIFT(&v, n);
- } else if (strcmp(p, "pop") == 0) {
+ } else if (STRCMP(p, ==, "pop")) {
printf("%i\n", DA_POP(&v));
- } else if (strcmp(p, "shift") == 0) {
+ } else if (STRCMP(p, ==, "shift")) {
printf("%i\n", DA_SHIFT(&v));
- } else if (strcmp(p, "insert") == 0 ||
- strcmp(p, "append") == 0) {
+ } else if (STRCMP(p, ==, "insert") ||
+ STRCMP(p, ==, "append")) {
vec vv;
char *q = p;
DA_CREATE(&vv);
int n = atoi(p);
DA_PUSH(&vv, n);
}
- if (strcmp(q, "insert") == 0) {
+ if (STRCMP(q, ==, "insert")) {
DA_SHUNT(&v, DA_LEN(&vv));
DA_SLIDE(&v, DA_LEN(&vv));
memcpy(DA(&v), DA(&vv), DA_LEN(&vv) * sizeof(int));
memcpy(DA(&v) + l, DA(&vv), DA_LEN(&vv) * sizeof(int));
}
DA_DESTROY(&vv);
- } else if (strcmp(p, "delete") == 0) {
+ } else if (STRCMP(p, ==, "delete")) {
int n = atoi(strtok(0, " "));
DA_UNSLIDE(&v, n);
- } else if (strcmp(p, "reduce") == 0) {
+ } else if (STRCMP(p, ==, "reduce")) {
int n = atoi(strtok(0, " "));
DA_SHRINK(&v, n);
- } else if (strcmp(p, "set") == 0) {
+ } else if (STRCMP(p, ==, "set")) {
size_t i = atoi(strtok(0, " "));
int n = atoi(strtok(0, " "));
size_t l = DA_LEN(&v);
DA(&v)[j] = -1;
}
DA(&v)[i] = n;
- } else if (strcmp(p, "get") == 0) {
+ } else if (STRCMP(p, ==, "get")) {
size_t i = atoi(strtok(0, " "));
if (i >= DA_LEN(&v))
puts("*RANGE*");
else
printf("%i\n", DA(&v)[i]);
- } else if (strcmp(p, "first") == 0) {
+ } else if (STRCMP(p, ==, "first")) {
if (DA_LEN(&v))
printf("%i\n", DA_FIRST(&v));
else
puts("*RANGE*");
- } else if (strcmp(p, "last") == 0) {
+ } else if (STRCMP(p, ==, "last")) {
if (DA_LEN(&v))
printf("%i\n", DA_LAST(&v));
else
puts("*RANGE*");
- } else if (strcmp(p, "show") == 0) {
+ } else if (STRCMP(p, ==, "show")) {
if (DA_LEN(&v) == 0)
puts("*EMPTY*");
else {