diff options
-rw-r--r-- | ord.c | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -25,7 +25,7 @@ void interchange_ord_order(const char *sku, const char *item, } for (size_t i = 0; i < nopts; i++) --options; - size_t total_nopts = 4 + (nopts ? 1 : 0) + nopts; + size_t total_nopts = 4 + (nopts ? 1 : 0) + nopts * 2; const char *order[total_nopts + 1][2]; order[0][0] = "mv_action"; order[0][1] = "refresh"; @@ -42,10 +42,14 @@ void interchange_ord_order(const char *sku, const char *item, } for (size_t i = 0; i < nopts; i++) { const char **pair = options[i]; - order[5 + i][0] = malloc(strlen(prefix) + strlen(pair[0]) + 1); - sprintf((char *)order[5 + i][0], "%s%s", prefix, pair[0]); - order[5 + i][1] = malloc(strlen(pair[1]) + 1); - strcpy((char *)order[5 + i][1], pair[1]); + size_t j = i * 2; + order[5 + j][0] = malloc(strlen(prefix) + strlen(pair[0]) + 1); + sprintf((char *)order[5 + j][0], "%s%s", prefix, pair[0]); + order[5 + j][1] = malloc(strlen(pair[1]) + 1); + strcpy((char *)order[5 + j][1], pair[1]); + order[6 + j][0] = "mv_item_option"; + order[6 + j][1] = malloc(strlen(pair[0]) + 1); + strcpy((char *)order[6 + j][1], pair[0]); } order[total_nopts][0] = NULL; request(parser, NULL, order, "%s", "ord/basket"); |