From f09d15be31ddfdd4226264d6c96c9c017c4a6347 Mon Sep 17 00:00:00 2001 From: gauvain-thomas Date: Sun, 25 Feb 2024 15:54:51 +0100 Subject: [PATCH] Install script and bugfix --- .gitignore | 3 +++ Makefile | 23 +++++++++++++++++++++++ README.md | 7 +++++++ pkmn | Bin 0 -> 36784 bytes pkmn.c | 25 +++++++++++++------------ 5 files changed, 46 insertions(+), 12 deletions(-) create mode 100644 .gitignore create mode 100644 Makefile create mode 100755 pkmn diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4469823 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ + +*.o +.vscode \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6ce6a25 --- /dev/null +++ b/Makefile @@ -0,0 +1,23 @@ +.POSIX: + +CC = gcc +# CFLAGS = -Wall -Wextra -ansi -pedantic -std=c99 -g +CFLAGS = -Wall -ansi -pedantic -std=c99 -g -fsanitize=address + +all: pkmn + +install: all + cp pkmn /usr/local/bin + cp -r pokemons /usr/local/share/pkmn + +uninstall: + rm /usr/local/bin/pkmn + rm -r /usr/local/share/pkmn + +pkmn: pkmn.o + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS) + +pkmn.o: pkmn.c + +clean: + rm -f *.o \ No newline at end of file diff --git a/README.md b/README.md index c6c6ff1..77e953b 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,12 @@ A simple program to display a Pokémon in the terminal. Based on cowsay. +## Installation + +```bash +sudo make install +``` + ## Usage ```bash @@ -38,6 +44,7 @@ pkmn -rs ## TODO - [ ] Add option to list available pokémon - [ ] Add option to open an fzf window to select a pokémon + - Until added use : `ls ~/pokemons/yes | fzf --prompt='Type a pokemon name : ' --preview 'pkmn {}' | xargs pkmn` - [ ] Add argument to display a message diff --git a/pkmn b/pkmn new file mode 100755 index 0000000000000000000000000000000000000000..949df7e8f53caf889d9552fa83bdd01fb03edb69 GIT binary patch literal 36784 zcmeHwdwd+lm2UUU^k`%~Ey-^Ow{02xK(Zcw$i{||ZP_D`ZN(4XFf*1$4=icK%*faz zEMjFRXcaAXHUwvv5G7#~HaFRILLgofhzyQx*uXk3;)Lv8gf4V zRcMfH?(g0|E^Vu;&R6H0I(6#N)ji!+cUIM`cbTTahugT^AnMQ@iTG7Q`=?X{f#0Yw zvT&Yf6dGR89)ZbpzYLHnkJGNvp-1+(k)L1jYhhoe#5r`zk#FwaDAVu0X>@p6*)^y_mLqqO+#w}* zNXc=StNh6!`;%;>zY66~J@g}u4!<}XhAy{T$?4%b#m^z-LC4mY67?67U#*g}uabK7 zutvfLhn(NXAxC~W*Mr@O9(F5#a!Bojj>Rp_JC-e3+)`iE(%jauyJ&aCvZ7^6 zisRAZGLcSpmEe!s)P_yl4OgepPZ-OahAHTDV05??&FREjfIo6O$s2#jzI^gc&lUXn z_^mhmtpDXF{&|x(K|E9rk`X)z38OzgNPaQ?h==^sDKnfvSSkMKIQhgqucqZ4$baVY zr+>5JjUMh&GEqA>fX>q}B6lN$vG8pv@cUBW-SGEVdLB%{|3nJ@*Hhr{rO@*x_~(pK zu1^3P%buDPdj35H{<9SJd@lw5Kngv#roexnLeF1P@K>e4?@3YKO)2z$IR!o~1-?Fo z{>~Kkd?$sT)hYNNOM%Z%f!~+{e=voeTT~7_5)PB8|=QL?pItkaz(TwucM-q{`1QiSVI^vOFxB(>(#v+N1 zSdv%SFH8s~QK>no)WR2a(bjgO;kHeN(9iIfIjvYB~C zm2HU;Z;v&%B^r!|XnTb6Mj`4}tOz#5>%wh7>sq4mq^QHurDLjFHX0SKT4p4gTazke zag;+^BdyU`()gxuTYXC;*cR2?!>%1usH2TrNwBdcx+B~YXA^csVsWa1*5-I?I8oOW ztZRy(5_Tmkc??16o4Tf*!G>^iixJt4Mi$?L#@cFxV~y>>_HYc|5Ydi!xRFYQ$w!@P zwyojjHaHzEJZ8jWC=HV9c87xv&28b9=G!AiBHGd39*HSkv1nr~+#1}`(HIQZ*T*99 z_~-;x00TKtGp7kn1rc==TV`yisa~@-SXR6w87m)&mK85WXT{7W`Oii38u3S%Tg3>I z|2!%jK_vdcG`hObR)w*E=Wzwi%~>?_*{rbd9{4<_J8t7TMR!bZ#>~fM)PtsDznVAm zIPovbC4NxD`{qi#Ps8t3{10h(t>O=ar5x*L+SbM`+b{X_@hqfpeO&BQ_<*KoK;cH6 z)W`YSm6FcY@Q}hwG`vsYehnW`cu2$THBx`ShO>PqHT<9EO8!$CJ`k4pX$=o4+^(1D zT(16VNtdL+{VDL;6nIF(PbmHEDez7WXM6f|T$SgrhQFZn_iH%oIi=yYq6ajb{d`u( zm3|{Kw%>9!oc(BPIM+*sh7T(Jehp{)Yc<@j>W9#Zz7*6>y}-x$#Fkm{djH9Y%DSsw=7Na4`ibFPMS`>mwhJ$)M9$Ntgqz3d+iXFUTNKH!(-I;-J5?4Mgw_(#XrDF0~q0j0;U;cQPx!~Lqh zc5C=SrKeNFSx=vacdGh2tl?i$diph-^$ch@&zH_>_}7#kV`mEgXn3ev`A5UQsr2|Y zob3texEjZHYxu)TPp5{no<0o^ar@EmBT7%dhO?dl4G*dLPn2R`7yiyb&W z_p*SMIdFb{MmYT*kvu{&mWF`Jz=tm+V}!dHM3@_r1mSKO73ZlTNf7RlQE|3Ik|3P& z=3{%iwZ@Tm^`Vh3(J@Jk%{dFb1r%((Dj-x&|^J)g<%Bt z^(S1zrvhEad`}4zhL=7AczE8AaL$?KM~vtuN*fv _nqD`Vt3Hk`pG_(x$3;H`m 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 #include +const char *pkmn_path = "/usr/local/share/pkmn"; + const char *argp_program_version = "pkmn 1.0"; const char *argp_program_bug_address = @@ -14,7 +16,7 @@ const char *argp_program_bug_address = /* Program documentation. */ static char doc[] = - "Argp example #3 -- a program with options and arguments using argp"; + "pkmn -- A simple program to display a Pokémon in the terminal. Based on cowsay."; /* A description of the arguments we accept. */ static char args_doc[] = "pokemon_name"; @@ -115,10 +117,10 @@ int pkmn_name_from_file(char *pokemon_file, char *pokemon_name) { } else { fprintf(stderr, "Match too long for buffer\n"); } -} else if (ret == REG_NOMATCH) { - fprintf(stderr, "No match found\n"); -} else { - fprintf(stderr, "Regex match failed\n"); + } else if (ret == REG_NOMATCH) { + fprintf(stderr, "No match found\n"); + } else { + fprintf(stderr, "Regex match failed\n"); } // Free the regex memory @@ -129,10 +131,8 @@ int pkmn_name_from_file(char *pokemon_file, char *pokemon_name) { int get_pokemon_file(char *arg, char *pokemon_file) { // Finds a matching file in the pokemons directory from the argument - // Returns 0 if the file was found, 1 otherwise - // ls ~/pokemons/yes | fzf -f wp | head -1 char command[512]; - sprintf(command, "ls ~/pokemons/yes | fzf -f %s | head -1 > /tmp/pkmn", arg); + sprintf(command, "ls %s/yes | fzf -f %s | head -1 > /tmp/pkmn", pkmn_path, arg); system(command); FILE *f = fopen("/tmp/pkmn", "r"); fscanf(f, "%s", pokemon_file); @@ -146,7 +146,6 @@ int get_pokemon_file(char *arg, char *pokemon_file) { int main (int argc, char **argv) { struct arguments arguments; - char pkmn_path[] = "~/pokemons/"; /* Default values. */ arguments.verbose = 0; @@ -170,7 +169,9 @@ int main (int argc, char **argv) { char pokemon_file[512]; if (arguments.random) { - system("ls ~/pokemons/yes | shuf -n 1 > /tmp/pkmn"); + char command[512]; + sprintf(command, "ls %s/yes | shuf -n 1 > /tmp/pkmn", pkmn_path); + system(command); FILE *f = fopen("/tmp/pkmn", "r"); fscanf(f, "%s", pokemon_file); fclose(f); @@ -206,9 +207,9 @@ int main (int argc, char **argv) { // Execute the command echo "$pokemon_name!" | cowsay -f "$cow_file" -W 70 char command[1024]; if (arguments.shiney) { - sprintf(command, "echo \"Shiny %s!\" | cowsay -f %s%s -W 70", pokemon_name, pkmn_path, pokemon_file); + sprintf(command, "echo \"Shiny %s!\" | cowsay -f %s/%s -W 70", pokemon_name, pkmn_path, pokemon_file); } else { - sprintf(command, "echo \"%s!\" | cowsay -f %syes/%s -W 70", pokemon_name, pkmn_path, pokemon_file); + sprintf(command, "echo \"%s!\" | cowsay -f %s/yes/%s -W 70", pokemon_name, pkmn_path, pokemon_file); } system(command);