From 2f2199b31eceff0dbbd2b4c7fb4385029157eb77 Mon Sep 17 00:00:00 2001 From: "sigonasr2, Sig, Sigo" Date: Tue, 5 Jul 2022 14:15:13 +0000 Subject: [PATCH] Support for hexadecimal and octal numbers in string conversion function Co-authored-by: sigonasr2 --- main.c | 38 +++++++++++++++++++++++++++++++------- memovr | Bin 16776 -> 16728 bytes 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/main.c b/main.c index 25847a6..6c0ebc4 100644 --- a/main.c +++ b/main.c @@ -5,9 +5,25 @@ unsigned long strToLong(char*str) { int counter=0; char c; unsigned long val=0; + int base=10; while ((c=str[counter++])!='\0') { - val*=10; - val+=c-'0'; + if (counter==1&&c=='0') { + base=8; + continue; + } else + if (counter==2&&c=='x') { + base=16; + continue; + } + val*=base; + if (base==16&&c>='A'&&c<='F') { + val+=c-'A'+10; + } else + if (base==16&&c>='a'&&c<='f') { + val+=c-'a'+10; + } else { + val+=c-'0'; + } } return val; } @@ -16,12 +32,20 @@ int main(int argc,char**argv) { unsigned int pid; unsigned long addr; unsigned long val; - if (argc<3) { - printf("3 arguments required! Only %d specified.",argc); + unsigned int interval=1000; + if (argc<4) { + printf("3 arguments required! %d specified.",argc-1); + printf(" Format: memovr [interval (ms)]"); } else { - for (int i=1;i=5) { + interval=strToLong(argv[4]); } + printf("\nPID: %lu",pid); + printf("\nAddress: %lu",addr); + printf("\nValue: %lu",val); + printf("\nInterval: %lu",interval); } - printf("\nHello World!"); } \ No newline at end of file diff --git a/memovr b/memovr index d45ad28e329472306aba7a7fd1040dbdeafb5d24..be4871c8ce5d744760ab0b4ff1709481e65bd2b9 100755 GIT binary patch delta 2507 zcmZ`*eQZ-z6u-A!p>J%o-KcLBu&+auVQ4${C2ZYV<-wbh2x^rC4O>_TRi<0Fsu)Ly z1*O)7k7INZ{DXgV#4nabozdtNWz%3B{$U2e1T>mAK{s$F)u_*N-@C6WiEp|0-19rX zbMCq4o!+;7X*&5NJy7OqaT5Ir8-ffRtawErbGUZ!OhEY5YABzAiv}W2i=mm4aDR$0 z^BP%U*hfPDm7BO<3+$$%Yn-#jIcpq_(Jx&ClHrq=kg;s>{a-|dM^r$tZdvfr!smWE ze!2e1lG`icscn1u5=Xl}hbOGd+$0{Frv!YNzP(%ipL^Yt*^1jpy%+A_ScbY9^hXSw~w03lbjrH5g; z^V$WtcpY_zcMT!GIIjC0^&~vzye?Xc+baFVAL7ZB{?K7Ol;*w@nX?B_-H8jO-IJ42I>zTW9z zQb3$l_hJ%3iw-`fgRB`Zwq)g5WkAVBbBg25kClv^OZUz?lMB%`yvvRA+LXibfjpg7 z>ySp}+(o}mNHIo>&S*Co_i{$D;Se;`tUS}dfo7sJ%GL=bD^DtP!tplQCr@Jl;@Eo^ zo(bXH{U=zpqj+c~eJPmfJ*Q-n6JxTfV%gKZ=d7tfRz8$xSWuP@1Ew&*O6#*=GVyGk<1@arGLeJh~Kro;!mufUETl3 z@N~(+qC=8BRVB41wk11a5A}3QiC9-Mo`|*iq@`_AcV}#CygeRkW8FrGwD#ddM{Cb& zsUz0$@FNMSp)=mrC^fXUwIxtI(z>Hj+8lqVCzimaw5+4M;(k)Np?S?}Y3Yt6DU2X3 z*4@puds=rSW5#+*VKa9!bi82}TI<*2hO8_1O>0^o%0ZNaC`V9^q8vxL9p%uBrcI*E zUe+|$<%3r=tqgyAWxr@z3%ghdyeyS3-h_1a^C4^I>UZq*xU6P6;u3r>ElK5m)--0%dN$8ET@a+V#dt=8jdU`R>Bf6?N)&@0$v;B z6pnqEa113`JKwqA(hN`gR?*|bANk&yCzy8}fp=E~TqC87MTo}`WCVU&;iaSC@ds!p zH2b}D55)b*<9C;NvzEazzt^SO3^#V8v1b{a@!vu1P!aH2W((l9Ksz0Wp@4UIGEhb_ z-sPZ3XK{901!4zZr3g~xHP(4V#kCvSD_7Dm?5=cM9b^LxRf-fpL8!Sfs|%F@IsmSf zB2{sATiu97P#eYBZ57ElbfGo^nU#;y13;@p&*;DFjk)=7SlE{UDystM*NU8cEm-pS z?8HF{i+!+aou#N8&Q|$7=Ep#1;Pin`Vq5yEMX*;p1^rEtQZfJ=tHpe&O#WN2v)Ws6 zoEMr`jFjTrE5US{`6tJSLC9j*T_e&YT&@=BDiCVC`B!Ad3&Tca+|6cBH%4)?mlrmz zhU{ZeJp0k=vUrI7D(ev#su2rc!Oxn`|1`-2O(Y`aCH_KuBO}rr&pH3`}K=l zv)p3J`7l)<5bV5E*eDHkP}bmt?G3?v%bBf*jo6Ta!H@(>$SH(*@?mHV)xoAv5XM7J z7zjBnQ7ily@(X6akASan9ep0+jR9dmG7=krqm6Zf$~6@(G-8ORASg{30>}2IpzzPX mK}VbF@~?V?7fXSuCXEJRDqJUY)*4agLq(*H?t<3Hjei4m&YGwI delta 2470 zcmZ`*eNa?Y6ub^x$(A+OTKv>yLS06J>qPc04juMbEk;uwU+Q=+M zHEaupo@(rm{%FQYDpMFH6{l?dNVFWo$(k~o!D(#PktPwE!A5(X`#wl*y3D=5d(ZjZ zbI&>Vyu1APD(z^e-P43No+!<$0y)1o|Dd@fQC*en{mEhW8`Om#1nTe&QFWyw(e^Vj z+ts^J)%SWH#!Z~M-U7R+MTlvvn8u31NAz1^y{K{~5hC11+y7at)+|?U94t_@&K(7n55Iu*;B_m4r5R=Lp%YoR9XkGG%YJ6G`+#h zbY%($)1w7!($<>xd^L_3n&MzMhhG=Ca1(JR31yQ5k5ufHDhw_!~;?mr{2zM zawT^71=%&ujD9}xlzAVYW7_8+N2ioP&(0)B}I*?Z2o$z#Vik} zS=*SWXEa29zQQlcfp7R3+zmV2q(jRGvho68r`IQka9jwN+i7U*{9zd!{n-gD+4S`O~+?7r7UZx)xqR@zYiL z_b~udJnepeQ^ww8;1k>SiKcLFW9SL87)O!$NJxQL6WknnseWtAb}?Ar9BK&G*V)9C zTN`(Zxpm_9ZS}PcFErHG*~t`Na5IV)i@29ek?I>8o5ZzE!Nxipp^qENB(%jooU?z( z@-D=2!~=*4w`KWr#5ss{gjh++s4QP$L_}5(b$4Vr6VrDEaXp3K#GIMOaW57fAk%3$c4q?u1<1?68D0{WE67OzbThLqycu44iagcj4*Bn9!ffzrig{N#qVEC!xDc ze+c_|)W7$TzFX1bhej@9m(baIreB`Qzr|I;pskc{>!&%#rea=8%=$|q!l{K0p(KMb z3CUK0^a8b8>2a{x9kc^h;k*-??GB+=dkNIni4Z6B*{y;}d*AgpLxSt}l{61r4lAE& zR88KM`PX{{Sr!nxkGa$w#z>vd4z5SORR*GkhIxRF4Y_2SWndBi_sKizYQ;8`N zR=bwdYS@j+G_nc$P}!!e1X2RmT@Jb)1h<9u;Fx8|!XSKZ3wYg+87w3Q&8X>xi2G$6 zX@Mns_`%CS$86X+d}u{*6*w^T8sz9nVve)66FVi$^4@|K+(jE)EwDpLA#XmZDA+N! zLQA&(Dzh!DT~)>mvL03yS|)R-2yyrtb{1L%r*;Ecx=04tiY(cASY_$xRD<@eD+Pgj z+;9rdc@woFyECtDOU0*P6fNp^s_O#GB5hDcyi=UN!>rH)u)D~T(}%VMJPQpfEkWBB zLpk#xmJTP1=GN@dmTg-0l$u8>`~Bw0bi#YJeHvWT_##?nO{rMK>nInv?Emn8XD%6& zu)dTZ%Kqj>>2#L%8|n3~sH%K&=|;ERZ7(9*TY_tvs+zWLhQkT7`adqVbN%0!)>5pi z(lUq8q4}?4CtSvA>nxig=mn`G4+CWm$SdbzqReTQwERopDleWaY`wspu(LdDaw?Hv zDSuFI0gFd~EgmPV^YGAveWF~1{T@DDPmqqEad5(8H|v*D0;8T4Sg)l^9Oi%jKWSc4 zZ0-?N^F7dqE4`F@VRT6`#FyYf6+Gl&-%;V5ETvxU8meKSLdFkfz*}tYSftvS4R^i8 K^b>IT=KTYO+hraA