From d0427725a6da8a938cfaeaa81bb5a096c4b5486f Mon Sep 17 00:00:00 2001 From: SuperNovaa41 Date: Fri, 12 Jan 2024 12:29:09 -0500 Subject: [PATCH] adds proper error handling --- .gitignore | 1 + isbn | Bin 19512 -> 19512 bytes main.c | 12 +++++++++++- 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a8a90dd --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +isbn diff --git a/isbn b/isbn index 4b69e2d71c62d14ad3b2d145699ddad1a1fbcc2a..23a16774a97f5f4ebdcd3c0f58f13aeb0bf5ca10 100755 GIT binary patch delta 1636 zcmYk7VN6?96vyv!LAx#yk# zIp>}Gp}|u$c#3|jp~=2v5`BD3OG{D;HOi?_!(OH1+QD4q7$?i-uIgGFe>0t*d#9xG z-f+dGw=MTZDv$IALfpl)^oL1=2)-SCQB-{$IIBIXda+&*dxC=3jvo=kpF>mYk|c=s z6``+Zg}Ch@gL0n4d6Kwz!K?mcC(3x6CfUAc>>h7*;qmM4od{dxusCrg9Yc*%7{OOH zh4DjQpu#md5L$SO+FpAIqP__2l~pvRGW<_kW)X5rT!wPiuNhwx#M|3C2vaZ zw*>$Abyp)=OvTzo7R@+iMsSR^sEtc|Bdj>Hz*CE|i~5)*mXs7v+Os_ejm=?FM$W)~ zqC>CYzLlX zcUL572Al`O-~&*{5wZ-HgO5QcxBM{<9rkVl%fTYhnLs?G z9F7YCE9eJnz%kGP&Vcn`7~Bu)RD`??~Szrx{bDMQ3&Ub7$pQj^i6!sXKhCRquVe6RI z$kPf4d8&tsrwNeo^dTEA(5rAE(`;06f@~V`Gi()hfN2YOdWe<6I#~m(m36`9LB-Q# zNO-!!rcHVkHu^i$nsU^Y@W$cs^gJtt9b^r#-K-1t02_w2u~FDU$atF0R$<$i*345Q zD>dimiuh(LE|}QTG6uMpcO)jfz@;W>hykH5@y+L$+ni79*@(H8wgvt$UskipqStAE zAh-A>742tlm6f39a9Jju4O}SuT*Vm+S&gNb4hFg`7RuFUv5ULwI4j52cbjC@o;k`H zvKeQ6mmUkeZ=Fl!sD>R7ij(`Z(GgES8y0F&@~%*ly#2?Zby$*T^OTI)K!f7}_aBAt BeIEb- delta 1440 zcmYL}eN0O%+J6EfiWH0uEWgRYHrYoH{aHR?OKCX6zCdg}F#9Ca@VsGvih@OG$9UsM(T5EoFmFaf1bNeQw)zH|g^`=iKN0 zIB%Oy9_N$C`M8ejbM-9oG3Pf>*Iii?51 zID5+#H7EBG>?6!;5GSp6^6(*^CiGHjwO8O;=RTz1k^pz%lm8zlBQ$ zNeh)Gsp=MGTa8ja+Oit?9dcVu{157eeor#=G>t-!Q5brd7N9SY-e%(MR1FP~8@iXe zZI-eSejii#{+Tnc;HdO;Zf3>=&&kp;GmZinYZsldS-6g7ZS7h!Cdh-sB{#Hmsdf+7 z1k37LHC#h4H`L>9!wp3|5FBmzL?hj_QCm|T_XOW)YU0x6A{uMnE=_T|*KAdzp1j7T zKru=7w>b+QwqMJUj$~1nsMBjoP!*4chDAG4{wnJA5B^jO-A(#HdD0OG?r{Gt{SV!~ BJ|h4C diff --git a/main.c b/main.c index d0ae1f6..5ccd055 100644 --- a/main.c +++ b/main.c @@ -108,6 +108,16 @@ void parse_json(string* s) exit(EXIT_FAILURE); } + cJSON* numFound = cJSON_GetObjectItemCaseSensitive(json, "numFound"); + if (0 == numFound->valueint) { + fprintf(stderr, "No ISBN found!\n"); + exit(EXIT_FAILURE); + } else if (numFound->valueint > 1) { + fprintf(stderr, "Multipled ISBNs found, exiting!\n"); + exit(EXIT_FAILURE); + } + + cJSON* docs = cJSON_GetObjectItemCaseSensitive(json, "docs"); cJSON* child = docs->child; // this is the JSON object that stores all of the books information @@ -132,7 +142,7 @@ void parse_json(string* s) int main(int argc, char* argv[]) { - char isbn_buf[14]; + char isbn_buf[14]; // want to hold a max of 14 so we can hold up to ISBN13s CURLcode res; if (2 != argc) {