From f8398f24a9d5f1d29d068edfda8ee21d537029ad Mon Sep 17 00:00:00 2001 From: auric Date: Fri, 23 Feb 2024 00:33:44 -0600 Subject: [PATCH] Development --- bin/fex | Bin 24680 -> 25448 bytes inc/sanity.h | 12 +++--------- obj/fex.o | Bin 7808 -> 11152 bytes obj/sanity.o | Bin 6112 -> 7024 bytes src/fex.c | 13 ++++++++----- src/sanity.c | 20 +++----------------- 6 files changed, 14 insertions(+), 31 deletions(-) diff --git a/bin/fex b/bin/fex index aebf62d607efee7c4945e9040c248e86743cd8e1..59ec24f13d57e4654664cfb1ad3b7c0cdeed068d 100755 GIT binary patch delta 8348 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 - #define SANITY_SUCCESS 0 // 0000 - All checks passed #define SANITY_CON_FAIL 1 // 0001 - /con check failed #define SANITY_EXE_FAIL 2 // 0010 - /exe check failed #define SANITY_UTI_FAIL 4 // 0100 - /uti check failed +#define SANITY_LIB_FAIL 8 // 1000 - /uti/lib check failed +#define SANITY_HDR_FAIL 16 // 100000 - /uti/hdr check failed -/*typedef struct { - bool conEx; - bool exeEx; - bool utiEx; -} SanityCheckResult;*/ - -const int isSysSane(); +int isSysSane(); #endif //SANITY_H diff --git a/obj/fex.o b/obj/fex.o index 0f9225ccbb15825c1a591bfa0e2b37f726b00926..4846d01740f1eec504253e01ead2a268ee9bcebf 100644 GIT binary patch literal 11152 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 C;yqXZ literal 7808 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 L(bSD{pj766_o8|u diff --git a/obj/sanity.o b/obj/sanity.o index 9797db550d15236444d952fd599e33c017a78106..9f386d5ef9489fa51ff4ca9afdc6ec3392ec20cd 100644 GIT binary patch literal 7024 zcmbW53tWs@AIG1WN=a%`QErXhkl4|bwIS4-l3SaNRk9UY z43{4Xke3IpXt)i!%<}o24KrLEEAE)5KNO|k5CvxMbIAdzF%A{kWS%4JafZuIlBL>Y z9N`uFT%;rzt6XnXdXXxkG!V-$#l)ROvW zOYkF6go6Luk2L%)eq@|{T4Q3&(M~GJUUPba*w?-~X36@4Wo5h7+Xpx#-wt-YzC}9V zc9-+=il8f7Wxf*IEwk>}t0wod^iG_xQCOrJU#4BzSbZwmao@G)i$`k? zjW~7U)E7tdD{`gj{WJO=UOdv@f8nOIvfr!y`*&R9D(dbTTv=9fpwuL)V922Cn`xSj z$HJ}_2Bx@~#0)qy(z(lJL-djT#kqSva#FOMtsM1v=*_LopSph5_<7fr70aF$4(b1y zVf?k^!QNF-)eD^T=@YIkN}!Iu#pXHA`4YA)7GRcSxXG;`{c?@=oa zOA~KiSP*gaP={l7_Loy~RB6L*b&M{IIQHB$%w<|baKCBS_xSD^nmXb_l!4+x|}{%zJoi#xhNpdoecmLh{yp`)tzGup{FRhO~?f zx%pWoz>xjgTi+%m&qkNRG2fA`<_YHZEJ&V>$ly8W#gUF`P_xm9?d2GRoB zNd;3^*IJ8wCH|WEDOUcT=X!gV*w7X5YlDc5mSZA;@EmqEKv6_-8v#P0XF zq}sWU6OW`m2!1xwT>o)ah{iNGAmYm2p+3(hezb6!W&L<3@ot0bj^f%e#g&U9$MtA< zTHkkTacQ~CHhGcL_g>peN{W`JE5?VFUN-OUyv{T>Xlsq+S?qbOqHuZEU8i0vHBG9L zff+k0x?CK6|MAJ@mfxq}AKvg=)^Nk-m%CnhXIfqM+}68p<8{fE@Kw1-JK1#Yv1=e1 zpBZPtFG#U*S#qYXzGC;yroL;%q7c)y;(W0v*fd}KGqJcqL}HW~U8n~)66XYgFvq$F z6r!C}kWyV`BxY2g}d!E z=py#-E-j#)R4_AVQqW;{N#-K^aOu=9Lo+)M?AjbLxuo}jQ$tGrnCP}Tq_m*WsfT3G zhMUiR)-3k&Yq~$@fkW1rjTt{3jhi*=>RsLQi2BPr>i7LnpZGk!{y%Y^xAN|(d@AjK zdQo<>`kVS2TZT2qdtPWL_AFR>*t~n$HlMI#mJRd9UEC#Y8MXXk(XgI-YdfU2G|yaB zK5vU?WqRaS$DU@c^v?(>u$($-dEJEASqtsI53uYyCtzEimsQ5kkG`JJ-C|$<)w8R& zG#sicEjf3lY0r|lt3@F*UR13q`*HE^v{@e?FB(=Cnz#3Oj`D{kC#!aB;?_PqFy+{~ z;Z+F_q))2#N3LA!T-(%i%g|F|A9mr9wCtBFvJs<~I`{WFD7iDVQ0u?e=h}@;t3R*% zOx$PBcV_$@#`(I@>V9WuPqq}xt;VGE+306cndW@OXO2}|Rs4j0W+^EPI=TI^dWol| zpWTMq_i{H3IQMdA-_1prGJ5HAs?{6Bt2z$Y{iJ5;%UJU{?q^RtNpvXNd1GD96F0|t zx%$`wvqdLojlLRrscKkxamnVH-FzKhN|GL&|8vfUMc1xxE*AwGxUqhI!=R*gQRH9lv3GttHFEf!2=cCKIi%nTTInT08n#OMI;@#&yEj zZROC8DR=)>TXiO{SMS@kCVcPTW?-3c9a=-4o43O|w!`6#+B%tVom)dfOgNi%xTF;~ zMmDZ3VWlyGS*wv5=iiKDd*sABo3(1WH_uzo!~2wb2^%G4SIQF@4u_{Mg89dX;zxwH z9u>!Vx5NF~;havPR_T*vQJid|pF3RSaPff45V&~4koig`QI< zXjN)G7amTmsJY=$v2(*`D^zi$C0I+w1P^vtcrVCV3lgkXNKkJ_e#j>RBnk9ZRW< zfqeiZ7jS6zS8C(B#{P7r;~CB9ar^-cpGozT7~V+jDGXOpJCflQ)Q(|zDvhsY_%6y9 zF}$AgEQSYB{w2eIq;?_0k5l_wh9}WD`xvgF{1=9cDaUv?&vlgJIz*mM{r_O%450dE zhHs(#DZ_Do&1gNw$2DQc@PAR;nc<_UJ&57hKV1J9Kach!fYI-#b_l~msU5-a5*jC- z;qYw)Z;ke0~Qi;ozdjZGdzph z4;en4>K(+!0>;7nGMwQzsJ}nuVA3KVUuH=MhU0U28N=}%_Jx4MDFL3j zkn$J~?*>R4D93)f8!`92fSXVTS-F5iaVo7lFW{iZ6G4N3Lvab!KNoP&!@NSWqK#pH z4j3`lU%=s+j!7=y5b`3em?+?&$LDFNfP?-S)z1@f&?iuyBH*CMbHfVCaXtJ(?^kv^ z9N#sd$GL$f@V?=AfkArDn7w}Q$f(_q;U81mjp4Yz&=1;$pOWf47(G6(hcX9ElhVP~}_80rJmvZ6z2Zlu{1&5Pq+dOqU$5 zS446$onC9qW3i-F#wlcaWs;tgMJx0QP8O-taWbt243NuZ@jdAXl_bG_08Y0ZAU-XkerRLP;z6VWV!o?C zoZlcO?k7^@6Sfa$Rbj&RG4~;rZTZ7DDWo07?DZALkN&W4_%c>dr59b~r6{DFk#Vpe z+nRqVeL*DA8w>Lf?-TUL`Hvv1t@iKH3B`R$WPCz@wAG}*bdj$*0i7agurYgmWwq&~ zhGigrPW|zHh5=aZVp7r8`19$(AN^tc@co7T$MLTtjE{*G#D?T+3PDK--$Zy@_s@|YyzoB3`T>Og$lGcgnu?`D3GEnskHV5*{o$LDeRdJVCDG?6zE^=k VV&@N@Pi^_T)BfZ6h<9$o|9{3>T37%8 literal 6112 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 diff --git a/src/fex.c b/src/fex.c index af07eb3..212f66d 100644 --- a/src/fex.c +++ b/src/fex.c @@ -8,8 +8,8 @@ #include #include #include -#include - +#include "config.h" +#include "debug.h" void help() { @@ -25,9 +25,7 @@ int main(int argc, char** argv) { return 1; } - const char* flagNames[] = {"Install", "Update", "Source", "Remove", "List", "Search","Verbose", "Force", "Upgrade"}; - int* flagValues[] = {&fIns, &fUpd, &fSrc, &fUin, &fLis, &fSer, &fVer, &fFrc, &fUpg}; - int flagCount = sizeof(flagNames) / sizeof(flagNames[0]); // This should match the number of flags + for(int i = 1; i < argc; i++) { if(argv[i][0] == '-') { @@ -73,6 +71,11 @@ int main(int argc, char** argv) { const int sysSanity = isSysSane(); #ifdef debugEnabled + DEBUG_PRINT("sysSanity: %d", sysSanity); + const char* flagNames[] = {"Install", "Update", "Source", "Remove", "List", "Search","Verbose", "Force", "Upgrade"}; + int* flagValues[] = {&fIns, &fUpd, &fSrc, &fUin, &fLis, &fSer, &fVer, &fFrc, &fUpg}; + int flagCount = sizeof(flagNames) / sizeof(flagNames[0]); // This should match the number of flags + for(int i = 0; i < flagCount; i++) { nprint("D", "Flag %s: %d", flagNames[i], *flagValues[i]); } diff --git a/src/sanity.c b/src/sanity.c index 26ce81a..cc376ff 100644 --- a/src/sanity.c +++ b/src/sanity.c @@ -1,7 +1,5 @@ #include -#include -#include -#include +#include "../inc/sanity.h" /* * 0: success @@ -14,34 +12,22 @@ * 7: total failure */ -/*SanityCheckResult isSane() { +int isSysSane() { struct stat conStat, exeStat, utiStat; - SanityCheckResult result = {true, true, true}; // Default to true, assume checks will pass*/ -struct stat conStat; -struct stat exeStat; -struct stat utiStat; -int result; + int result = 0; -const int isSysSane() { if (stat("/con", &conStat) != 0 || !(conStat.st_mode & S_IWUSR)) { - //result.conEx = false; result |= SANITY_CON_FAIL; } if (stat("/exe", &exeStat) != 0 || !(exeStat.st_mode & S_IWUSR)) { - //result.exeEx = false; result |= SANITY_EXE_FAIL; } if (stat("/uti", &utiStat) != 0 || !(utiStat.st_mode & S_IWUSR)) { - //result.utiEx = false; result |= SANITY_UTI_FAIL; } - /*nprint("D", "con: %d", result.conEx); - nprint("D", "exe: %d", result.exeEx); - nprint("D", "uti: %d", result.utiEx);*/ - //nprint("D", "Result: %d", sumResult); return result; }