From 06bea8ae54dd3cd714b231b3d8a8deef77136613 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=A6=8C=EA=A6=AB=EA=A6=B6=EA=A6=8F=EA=A7=80=EA=A6=A6?= =?UTF-8?q?=EA=A6=BF=EA=A6=A7=EA=A6=AE=EA=A6=91=EA=A6=A9=EA=A6=AD=EA=A7=80?= Date: Thu, 10 Jun 2021 13:01:01 +0800 Subject: The client now takes an "on success" callback argument --- main.c | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index 68f5867..3c0aa3f 100644 --- a/main.c +++ b/main.c @@ -2,37 +2,59 @@ #include #include #include +#include +#include +#include #include +static void callback(struct icclient_catalog *catalog) +{ + for (size_t i = 0; i < catalog->length; i++) { + struct icclient_product *product = catalog->products[i]; + printf("SKU: %s\n", product->sku); + } +} + int main(void) { char *url_line = NULL, *name_line = NULL, *pass_line = NULL; printf("URL: "); ssize_t url_nread = getline(&url_line, &(size_t){0}, stdin); + /* printf("Name: "); ssize_t name_nread = getline(&name_line, &(size_t){0}, stdin); printf("Pass: "); ssize_t pass_nread = getline(&pass_line, &(size_t){0}, stdin); + */ - char *url = malloc(--url_nread + 1), *name = malloc(--name_nread + 1) + char *url = malloc(--url_nread + 1); + /* + , *name = malloc(--name_nread + 1) , *pass = malloc(--pass_nread + 1); + */ strncpy(url, url_line, url_nread); free(url_line); + /* strncpy(name, name_line, name_nread); free(name_line); strncpy(pass, pass_line, pass_nread); free(pass_line); + */ icclient_init(url, NULL); free(url); + /* icclient_login(NULL, NULL, name, pass, NULL, NULL, NULL); free(name); free(pass); icclient_logout(); + */ - icclient_allproducts(NULL, NULL); + struct icclient_catalog *catalog; + icclient_allproducts(callback, &catalog, NULL); + icclient_catalog_free(catalog); icclient_cleanup(); } -- cgit v1.2.3