From c2c89d376b0d80299ad0fe8228ecef4279557160 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=A6=8C=20=EA=A6=AB=EA=A6=B6=20=EA=A6=8F=EA=A7=80?= =?UTF-8?q?=EA=A6=A6=EA=A6=BF=20=EA=A6=A7=20=EA=A6=AE=20=EA=A6=91=20?= =?UTF-8?q?=EA=A6=A9=20=EA=A6=AD=EA=A7=80?= Date: Sat, 5 Oct 2019 18:06:58 +0800 Subject: Start working on ord.c --- Makefile.am | 1 + icclient/ord.h | 13 +++++-------- ord.c | 10 ++++++++++ 3 files changed, 16 insertions(+), 8 deletions(-) create mode 100644 ord.c diff --git a/Makefile.am b/Makefile.am index 2240f39..5a4585a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -10,6 +10,7 @@ libicclient_a_SOURCES = \ request.c \ login.h \ login.c \ + ord.c \ member.c \ admin.c \ client.c diff --git a/icclient/ord.h b/icclient/ord.h index 4491ba4..0cd0e75 100644 --- a/icclient/ord.h +++ b/icclient/ord.h @@ -1,25 +1,22 @@ #ifndef ICCLIENT_ORD_H #define ICCLIENT_ORD_H -#include "product.h" - -struct icclient_item { +struct icclient_ord_item { struct icclient_product *product; unsigned int quantity; }; -struct icclient_order { - double subtotal, shipping, totalcost; +struct icclient_ord_order { + double subtotal, shipping, total_cost; size_t nitems; - struct icclient_item *items[]; + struct icclient_ord_item *items[]; }; #ifdef __cplusplus extern "C" { #endif - void icclient_remove(const unsigned int *indices); - void icclient_checkout(struct ic_order *order); + void icclient_ord_free(struct icclient_ord_order *order); #ifdef __cplusplus } diff --git a/ord.c b/ord.c new file mode 100644 index 0000000..4122b57 --- /dev/null +++ b/ord.c @@ -0,0 +1,10 @@ +#include +#include +#include "icclient/client.h" +#include "icclient/ord.h" + +void icclient_ord_free(struct icclient_ord_order *order) +{ + for (size_t i = 0; i < order->nitems; i++) + icclient_freeproduct(order->items[i]->product); +} -- cgit v1.2.3