From 6fad64426a5c9ec8b71c7c6d718859a24ff9e1a6 Mon Sep 17 00:00:00 2001 From: adamopolous Date: Thu, 28 Mar 2019 07:34:36 -0400 Subject: [PATCH] GT-2703: changed "force" option to "drop extra bytes" in intel hex options --- .../help/topics/ExporterPlugin/exporter.htm | 2 +- .../images/Intel_Hex_Options.png | Bin 8014 -> 8778 bytes .../app/util/exporter/IntelHexExporter.java | 34 +++++++++--------- .../util/opinion/IntelHexRecordWriter.java | 13 +++---- 4 files changed, 25 insertions(+), 24 deletions(-) diff --git a/Ghidra/Features/Base/src/main/help/help/topics/ExporterPlugin/exporter.htm b/Ghidra/Features/Base/src/main/help/help/topics/ExporterPlugin/exporter.htm index 2166be79db..7cc81d3288 100644 --- a/Ghidra/Features/Base/src/main/help/help/topics/ExporterPlugin/exporter.htm +++ b/Ghidra/Features/Base/src/main/help/help/topics/ExporterPlugin/exporter.htm @@ -308,7 +308,7 @@ address space.
  • Record Size - Specifies the size (in bytes) of each record in the output file. The default 16.
  • -
  • Force - If checked, this will ensure that only records matching +
  • Drop Extra Bytes - If checked, this will ensure that only records matching the record size will be output. eg: if you set the record size to 16 but there are 18 bytes selected, you will see only one line of 16 bytes in the output; the remaining 2 bytes will be dropped.
  • diff --git a/Ghidra/Features/Base/src/main/help/help/topics/ExporterPlugin/images/Intel_Hex_Options.png b/Ghidra/Features/Base/src/main/help/help/topics/ExporterPlugin/images/Intel_Hex_Options.png index 19ecef3db6d3da860dbce4b104958453a5478351..8d6087886acedf6d1c98098ddf1be9ed6fc490f3 100644 GIT binary patch literal 8778 zcmcI~Wmr^S+dWE1BaMV0sdSeD5OoAX#K^-(czR*Hg+$CXrq2ah615 zQtGVv6;g0t)W(X8Z|Jg?8KAbJWzD8Iyx%gshCf)bJeE?C*92jWrQbLQ?jF)EXH)*B z^K9&=T@p?0t9~>$H`uC!K6rolFpT9((~mlXlWThDheO=g*C*hx=y`h8mlYIwxYP*c zK)ei*Vt&?c&q-DM47no^Q;_>+X*SW7M~+@C03FRAhq%^Zsl{W9Jw&STeS0A0?bh(Y zTY7?mr>GRnhcr=+y7Anl`i=GON^|A-1rho*^q+!%Rb^{f6DDKo8*k5u_1iOw#K=N>HC703 zLyYx}N0)t&!#WWzc^kbd*=KWD?76q+l@zzjk89d$UD*<1cGzC`So}>%tR?^o^MJ2 zGcU|y#6-BiTay2+nUtd`U8Txu;e@aq1G3Sv^Aj?_p~%g)KQ znmoTq<=d0wC+P4gMdmXB`|B{8@Kx09~x)pTE&xQzE5?vCofotk9jpRrfzZvS4li(y`Jj`S#!#*ER=KQ1`K0iXNPk+5H<8mREif(oi&eWlOt5qf*aTm{^ zuRNwVl>3kY6PN3&lixl6cmj*+*ACt5o33Uy%Wu5LUIBJ8~R{oj|nRLg}>-%tSN z-!-O(?Q5$mL_P`WkbTDz30>a&X{@DeS6+Slj+rY2UY2%RU2Wyc`0hS3-&w@gcA6ST z{CU_AI$U zj_gm(G7m*ji;wC_1{41*#8vdhgEEX-kEgwRoQ_xY75k~Jg$>0L;R-qThhZ*E42;E8OYpgID~qeT1%*t!-YBGq*u5_ z;)h9?uGXoqx|Sw{25U}mbed+ho^Nvw+K{d~a%shVKN`W*MZ!oUbTp7!Hq6z7n~*+O{u&7~j+&;~5115G5;kmlGTrHl2q>8r`Cu_RehvVEU`a zR8p6~50U{r)5jJ5va5mgpHu>i+S)XLYJ`S6sn`)6A{#r0|%eARJSmAtwjH#3-Ex-dVuwvKxzbyo>YubIOBx2(#Ro1K*r zoCGTLR5O~Dj?T;MlpIdQ3ytfNi&gswB9J3dGdhu`jbhfrd_cYjl3z#8jQn#cP!_m| z53E6mqUzXW4!8BCVMec{74LoeUmQ$Oe|ksKV;x{ZFBagWftKo@hNBWJq6E@{#RkU3 z!No|WxuQapcebXVBF;=1HDkc(Q2RO+Zwtt9;+4f}WDU^|;(=tAX=(>Nucq5Bx-!W` z#KjV0pG<1&$X+EsUYQQu;{19i=O*IMtjxolOEv3)ESObGLOs1L2n)~5ovNkwx+5%I zQgie$K_Z%Ry+K>Z-Qnc~S<|(n)qU*Gp2H^P+KuzY{QbrihCjg-6~*R-AK^}@2(|A) z<*V)f9WhW+QD_06tnNt7x{AkP=0o`GAHK3Abl3ckQO0nmg_Nx-cD%iArFNm!$a*PY zeUWD#kz*mlv&j*1JBAOz^G{S)uop`yE3;(%YPVK?sJ|p6WfhjXo;Z+~aR?_qNemU+ zAy9n+9_;ULfIhSc7QQvGs!L1^kF={jm8QPhEw}!Q5*8q1)`~a=RZ;{X~#)bxcek+I)~#_g(vj z6o>K!ZAPFs@bP_(h`OuION3^_74r>HZOjJTc1WBbToFdLy(k^0wp! z9x?$|ssJ-Gfu`(;Scyq}vtad|^czDKlfeSR)|P+(P-h?xwTL_Y@aCwQkp2lbJu7Rm zd@M5t2FB`lrxm*rLCaB^L5_Ft-W}Jx^Sb^Flw1dM)kV6s_IV#tB_t%SxPz6`MVrO_ z(6&vYfBy9H@=E5lGO@Dydb}(SM!OqM;4(GPj~^Akq>f#H4sv)8X%+s?Q^!oLtD1=H zSD(gu=+lA~ABtJ_S83ClvSd>IF48*sU7$`z2E9Ai67{~jKDS?J$dH?znfaxC95+Gi z>gbp#2EG6BO7eOAmpu|4NaRbAAJTO5txz!*!spMIx3`0hvZTYW{+3VCDBIfZdmJ@y z9UQQQuDM{5u#yQm(Z6hQT9sbRJFrpJk$mzOAug`Bbh>gLoJ&9Hr>{eqWohL42> z3+HUH*~8sef>AL6Ng%U1lXTgyj!HWAD`Hc>$qk>sNIh@3GYAh>?{j_o7m=8l=yh}P z#l^)u;Di&1{jJM>+qs{w@71p}3{Xs4DDX{EnaN!~o2lg|5OOnM>F{y&T*V3)%+D(7 z;_|Z0pjjA-X^b8r`j@;UP$Q*|7t4B8?}u_RxLS`!i$z*SMyo`J_~-j}%m34DffT4B2T z=YA!AetsfBzyhlVtE?teT;sa;V~Ve8s!qVw+KGnr4w`Qr=pj-$eG(rvReeGGTU!Ia zLw_@KUV9UzTu-T#5 z9Ad7lPD+QaV0?v8aadc&o8%jJWM>KQlohr-mbAMDfsW43vC#@OlOWpBP0m>TD$6kn zKU&T}1eVUq0jDE~63?%mOXnd?#N)YMwKXw})`JW?+Lxty1>>u{DX94Jm~&fvwABbR zTtHq&I-Zzo*z|s6-2bI*Ts{gjS!3<{0=1)H<|_TdIs6=Ha(v?_$=a1wt2K7>qt^ig zJQqC_{Gu~+a}9NMzZhOwnwi0MKWORkDporzy~O7~X!5#oad#Ic2*RauKVE(k7eH1= z!migVZ;f+m^fV+R;ZE|YgM$OF{U95xem+A9APq8AKY)Y^a2MOtr%zRu=c;YCxv$Un zm^}H5(EvdS=hf{u-*c0| noGa>F2yl(umH?>k?4z1_v3N`JCI9O;DP#|jow#i7{BwZKjGtKt$vf@$sZf z#b4kcu>T8T*Te57051|mGE-m8)H#~Q^cYQ6+e|mQ9#ux`_`QQLWcp0yt0KdfHLI*h zdJZ@ZtINyZOUkfZA`qsIOiWBw-o?yX#gHe^%GN(!Jv~|P++Y03H|`9yB`-b)7tG!`oT+n7_KVER%{3wN(u|P2_LsPVUP(WoX{IF% zF}vl=!pl5Y&wu@;)I{ubTY-e=$o-e7D14nZZyrVporMIb!yZ#0?-{G5AnaFEp3YUj zKd)05f!?1#>XRmMn*-mKUX8%1okM6?tlJt?r!P;<2HNve7@j=5bv5iBqn|A434q?I zcO){OuyZD6@c-TYQqlX}gjj}rSVMP^_0z@J?L%l#*3N?#uY^RY*aAs(_y%om0R_95 z2w54XtOhE5)W=uF$a_kfdlS6jrTe(h;Ri`%AnRMC3 zQd-4KuWQ!(k{=S*DP*EU$e{(ktaV!9EwAMv$KvcJ2+g#KS`NmeuNCL=!*8zbDArKz zv9A#Y4@V>3xSpGc`3X(>ue~?57HF6XcYLI2rtkdmVE1hIo(kC76(+K+@u}{Ya^nX~ zA;7nem&6yyQvA-1A-g}h&y4xCqi8-peH@V?1h5H^LPJLAKYn8^wggycWi?x*RR#$CWWK83 z!`-cGC_9Vw!g-17(PAd`7RQUh(1*Vx(B0n!rWO`?Dz8V+kIntq9%F!6D8HLO+nJDw zpzO0Kz$vG_akLl$e-nOBVyK9@^r}=FhDPo4Nja)ApcQ|uBLHia!0cILd~NOJU&I!u zb%RM@-2_y#gHv8nA>IfTc}V>=8G7VCEnp6UtRA&KM1+MAYUA4n5r6r*6Apg&dHYAH z^H&ulc$bCKvbyDBQ+;wWg>V+5Qj$gySm`=>*z9TJSeuFe+X%Uk@bJl2xS+CvTfQ=%&nH`Sn?G$k_m{IjEDLC?zWZczg{sSM#?46%Y>%4S9KbUPKn5q!LFeS;iii}wMsKDGtM%}57S#9X#TcvJqj-=k=!1JAh6LPnYSMmR=c}DT z@QY-ydlQs0*tb>Ys;vCB*0G9!?VpMZgy28!k1Un1eOOsozWT((rPV@#TJV{)oSa-j zX_-!SD3wV`guu%E-3^cVU_Ow`4};n9lz4Sd$#ewTh&psny2B~98y)dID+!rCtYdwr zdV8@~)*81cYqL}cy&P7fC1uI%@qIGNJL|$VE9@da(U1p7_4MmpDEY-hgleHLrZPxvK2H zy+OH@AjuUfe=dwZLxG6UskW{tT4?%8NNr+d^y^Go=VnUaa8a8a0NWtW=ukpZQbS`S z?AKK4_}P9zH^(uA(4rBH&X#R~C-mmp)yr>WWpYI9A%)7?OQWUyxd?c0Xb5CcWj;ji z5{yCYG{*k-bi)BuWrY2^>Dko>CFoKfG_T+GPzZN%e|M z;tGcov}~}wpi^b}1i91y(-=TQ>#5>C#zn~IHvQu4W9f!#u%ycoE0^B$qcFhVpQiUn2xc?QPFWeqQuQNEWW6fWW?JAZW++)ehI;S;^kFZ{8Wc(F zlbHCzT%I)?^u}rI=Cppp0nX8S8||>v;o8>L!l7HPp7VSsoNQ-jhb)WpBS!1r7#&r& zJGN*bx??4*bVkN}TVp&PQ(2iztBG7d4a^w=1jZ+8$?H5U`hLU{`ve6&6Xu-4uv&Oi zlKN4Z&&b9m>?=B^k=$sJ7Kh%Czfxy?J9Cl|G9#r9`@)~luR)%&naUD-S@L7RR_S1q z3R3OB!$?ho+nz>`uvxIID!pIp?rFyjILh|%qHa}Zc)LDk1}aA4BJ}aF7)pXaJBO(5 zp(W7zD`63`H#N`xS$&$ytr(2f294;T*g4Y0nQexl^bUt^<5zs{?xHdn|A$4#1^wCbCN^0OjSWVuX3Q{$7=6A(1(pl*3?o%8ft|Q!C%FRTR-T5YO>g zu4{AYV3U(DpZ7~{Sb{uJ5@IuY+Iful;7&lG_bti|>SiZYp`+HIVq&g0ZQqe`d!EKZ zk&W^6esVB+V(U{FVHzu8QN0$P1w;v(S~LYdhIA~7pi-(?2S5nEYjlkx(1xgr>9{_! zhMa_H{8zBR;j6qa(*nq2*ZC6uS()s|{$!l7@;R^XrCCfc?)GPS#RmupHN=-^@QQrFyD{)1^Wu!lY5x@nhcsh}*B9R}gE8I`sSN@ilk-H&v{6rftoli=xA{ogLcPP?^!qr?7gX~85=-K>QcHZm zsEPp^^H_NYP-Yi!L3|Q9*~G9qfFJu`H%$J^ehe_ZuNIgdJ=0_iqN?=VA6q5(nF3%0 z{og$x-+ps=+d7kivKaO0z>8XSQ4e*)peTN-OQduslb3bCnF2!9F zRf$dIP1)KAyqXUio5r$kb<_6tms);OT}`)QPNm5MPQ7H!R{c@G^HQHxyc3xMS!x{< zhx?U&|Eu}fyXgnE(h_4S5XhL8$-cK6k2#<)#KvY&gPFxeFHyj)u@aJW_Jd0L&Bd|e z{`1EeIDP&6;3W|6*Rk@k@(d9z82?#f#a-pQTEmzoz=n|}dsAPtS)G1dWH!<_l*(8` zwYIl=Lz+H$k68F%fPZT|KbD+A0t!`zD&Wi%7NC2$U4%Y9mJA@xDx)n@KtRC#{XGoO zdm*Rn`1t9=g~s%EUuoGjTm*%M-QC?ovmBoOXFqHk1xMgovkpHi(;cFCgL1%SM~Bn3 z`;dw35Y6iAZ2Y-~_M?BBJJM%*@Q}dO-={mHv-cQ(sqCPV@bvi3zvM{>;n_ zWM*)7HW6+-4U|6AKqa;@5bx;d==o`;+!$y)^_$(RtE>5-sFfx;m6;pAJ!R58dnTFN zZLG}roT!t`Sw;kn%kK*H;2uYOFUrYxlFZp`1neFRVhg8Capjab3hII^R%yW#1AUPEieyg^S&uaDp4Z`GlvZEDB4rQe5xh8BI$B;f8ZkCE z@Aj3T`+I%O&0=yIvL_`ab-Z=jK2@Sy%NDp0T%4faS8U0pI%$&le!x(SHEKV8-CLzd z+-_d9u&b`}!*4;VC@e<~|d0cK57dU~W}tbBmBjhdR8kr7RCLR?&+_6A_Y+Dw-Y_1jd_ zZjWXlgZ+$+jb+z9UodzB&J%v?R|MnuNV*vGVn1;kGf)y7!+|4Hn8d+q*;2kesfOss zRVYGZPc8(PA;hT=c)L0p1>hp@$c-V=by)FkxX$EW&5xYqVRyBmuG|KzJ#*(Y1&-62 z)wI^v;s25!hH~1glOAd=elXy$0YzAO+|QqcP5yN-m@@zYa$d`F`vqYlBWV4Y865cM zoCd4YC{_5&^DehA8r#Qy2GR`JnCE-bVy=fN|BjEb^U+*j-K?0doYIS(?GhVeWYirT zBDIKZ?$YFR8QdF5xLL; z6~6r-GPo5099vXELht=2wZ8W`kJ=KRC~pRO_>p%(_)sdMqwgBsu&7}=#rr{>kGMcY zI{cqmrOnM58J*hO+cTl+)=j@?^KqF$fR9i-OPX*{vmUZj{>Qp`Qkr!u)4$+GLBqoE z&6Je3wl+{1XJljm2aP}==1tdsVdkS3`T^zZd@q%!#O2Y_NHNhbTC?%xZILLk*wIiF zysOReld=%A|w!lz-e-y_An&4AZehm~9l;BPj@feQs3=_oWQ0#vC zB!R!<6X0!%&}NUz>+5UacY>m#X;a}Ss`hRFdDG(I*{%ufF6lBy1b9aTNe=Wus#L!;CNJuvbA|>68bVzqMjKClz-7O$Fq?B|H%`kL#DKQQ;NTY<(();m! z_kZte@1yVFJNXXgnRU%I*IK{6?|VHln(B(U*p%209z4KRR+7^OzK?+q4D%821otb( zJa|AyqAVw^>tlY9i(yD?&^;t1`N`B@`tbk@jU1!pn`cFz8P4U1!CD*5iq>Rr_zT}k z#>b#PbtKlTw-owZ7^3u)qe-(P)_lssd*9Q#2yx{+Ytl(^E0;!;XNXh*`%%CA_6$WSYrOp0{U-WA{bsqw(fH}WqZ^iI?@?cUv9cTI!WJmBWeI&OS61`CLP3Nv0${o^OdK!w--dA*+U<8quRy5 zSBQ|i5#HR#)RB6MiB8QhG7V-Q8=Y$NxS*9%*V_v#k^eK@nd6V`d9i$19Rta`XnaM< z4@dewj(CJeAV(r)VP3&nVL<*4)j=^H@+jtWY(7`5PH>)^q!40L#(SI!mM)mTF~E{pjNETi-8I8LHr;YrYdsDa9=JLwjGG!})PHGsFsY5Qp9Yb~@?S@}yR| zSh7~#uT``sB#G2!;_kXfmhWD-FKM`I6G3)d-@Q7zVPjK!^Iq&4CSw;UVGcWgo=3~cJhV_Q^QfCdOH=b% zI<;*c)2nAP)O?_#zi!BdPvZ=yg!?QqHE0j~^S3mGv^?scU`NRxiouuPe{k?ks?pRi zl@33lqZD1gmTeE_7UGMxhps@<)8d(IRPCZQYu9KivRJ81uYxW-o>SV}G0`C5bsdfa zH{UaLk4ZQD5>dgfWgJ9w;-1c6V3>cq4LFcoQHxGG+YqTpY_n_P#VgP2;Z-g1H-#ly zgEw8%6BGNYx|IRkXNhkFOYKo)49d=l=BuV~QopN~e9b&Kit82M?ZrlS;eP$N(5c^h z1^b^fp$Lmwsn{rtj0AqZ=7lY9N&d~gQ)z@fQ&E4)%xp>xF0TL|pBo3Qh^XjrI>LV}42C8J|I zjTTQu9ikcr_|oLD6_Ij=x7%c8a1JmPuiYV7Xu)_5fuJy1Xl?l|xDJ28PsrYVpRz3&-7ZvKh) zxwOvtEnOld_d0tQ?i#l4Ebx`CvyiroI0C40i{Ct=%s#26zX3nq$n&>G)UGe-@FhN=l~g1D7j9 z3W4EwN(@ItCZ$wVa0SLP#=$3N0=(yvbdi?Ej_Vh<{vRz4vQMMg;fEsvDXMra=uydi zwV_swK@+p{9cBL3j+7#*Zbtpiiv z1KC;zv;0<(GyLt|f>L-A9-OGI`tgniH&}#51$DR^g=H_X^Rl@3PIPIidXk1|9zQo$*(KOr+%AHKMi208j>U@4e%>VHd%2p zMCIRk>ssF=)^rZ}QY(nFu5EvE=vQj65*psWL*C?EbDFB@y!fKROW3F~>6?m2D=JPt@FG4Ky%f}|h;dc`F9jy<( zenRZ};kgu~_A~N(iGhJ=jytb}^~1lj{W8n5qWBLoyTHn-K*(kTg8Uxe6Bx3xPH*NghX zYa@nE)^*QV9G%!6szeNOlBD%8Vhhv0mVe0|bFRhGC&QLD2IeTyjF2HQ+0kMN3t9Zc z@VXqz`Y7VRcd?h1qxfiUt^6jxrc+C?y&qehd2<*QGu}|*Ezau@5BC+ zVMM+du+@Aeb5}4DHa>c}ocKfHGpxqxoqdP!vm@)@ky^03CALscO=%8?*`={ zM?Z&C7Yr0?6k`>yiNy{H@fVC9gKVa1p!1l`p1EPo7~2lWD>)UT?e1}NGUdqFs#@|I z&$BcK8F^`@Qg%8w5!3xT9r450^!hIhK^{^Kl+w;-WtI}S8vbU!xEdbu&)H4!;_O6q z#SfDv;G7KxMiC;!kP$ex$S+pds{Th$!Mx|KbVl)jYhv!Sojnmv15y}I6T9!%u3lSy z6nReTUuSBAN4$}w#X~^EE+yxC`mp{$Aq#qR=_=Jssf7;KCNb&y0&TS*cUzjc{{PJg6V$>FD_L>TGXzW(H0|vcK3| zrIszYTz>3xaJ)GRk&VVv%jE7|S-Jglw6W}{=FV&&Xu@@TOV=$ITKhT#;ytSAQV(hI zVR=D}Fyml-1wjStMH!@KSz-~4A@-B`|56a%)zt-qoi~D};qy3S`&I1badHX@f(|o`FJDHQXfbzGK^5aEBd_zSs$NN^ z8`PTn`uQ1~n6x;3tI^1pTw7ZM9|#HNB_~^fK+)qiVDQJp%;wq#I0P~aAkJ_CP29*zySH2O6CCmoUQT4a&9IWX zrR8TRlp`!x)YJN#ICeODOiT=2;OW<)cq$RMj+I!FSIf)GUoNL|#eOX`Mh_U&m@X74 z;tON#bhxfP!m_uwPoNgje)FcvZajTg5Q}Y}KH9rk07ZN&P3P(!Bj>(3l8i(m`}+C_ zUMPI-2jlrQ_#CY-wYXgDFAx!p{a)*@$IIb&(7rfaQC3${8fo>|VVgE#K3y`_rpGdu zS{y3q#8+kW#I1N5sgE!{{8#wl&=&L5}n}~`0FTeT|Q zkEe6&K45(TS|5lh76(mH>*(kNJk-R)#C-d;5Phlmu>OoK*@2JIY9LivlN1yNwrU)( zmX~ez36CVsB#R4<=Mwb)kR4J|QbG}4Q^P3*LUs6(i?Q0EYj?w7i!AlW?5y7u zV$KwZmE;(zWNdYOL**vYGx#-4rt>7)J@*hB6s|=BX+x6)ZWGijjjxOmU1RIMAE#Xf zwTHIkK1D`G+M$=J=gLr{2IZX*)eCbKIy?m_wvp133kwTAUSL$mWvBneab*`x$d7s^ zX{%qT&fiHqX!Qa=Q~~;%J@MpHV)M5oY)JHRID=CRjhGjIfJt_3MrLi5u3OBUP{G8b ztuw+7T4felIeook`?eifo4LMQ@E&>QzJc;4rzg^6AaW zreD+xAcl8wy5j%TSZ77x$L1GJAmI0w@rq-fQAd<9IVxp;GS(}OEKRdUjYoThS;sz% zFq3mRCc(~+jzS@u8I7C0$rC0_OiVswy?WALzI;gn8c-N?)l^?E9l_3VxZ0f$frR&s zLYVW#eZ%bdnRLYsl2s$6N!bZq zNOQR(qN6dK2<+SvpjPbS9~p2HRSfCBf1*dWdVn@<2nQRt`=jxdOZ%Qb)t`qWIZR-3 zlmYm`Nx~>RC&IwMz|1EJM<*vQ-2DChg|VuB<5CIs>}^)?h=@>J{ux@2Z)$EH)mF5^ z7wNdKwfRlLpb=3^0iVaky0s&`wJZ6kBz-P=n+cv8a++t$!s&8Kg4K|!7T)B;D?Xg` zie^Hx0O_GcY8%Q|XaD_X_ftR|_i%rMPg-psP0qyd1qISaU!T-m~2eS7ZTVROPy!uHTY3l7XHJL{St z?Yehqn09mNWSQ{1_JM%peT;ziev5x0l>==LY}YMYVWvJnQjK-fU849aR~fP#sC9lJ zC14uQAJ9aq)ZA6YMrfp25c}a=rsA$o8-r_M)g(W*EZAiQ6KmRMizqL8OCX&=%%wv# znH@_t?QtoVrlC+v{wuu_UtR|;mU$D+MH`2&ruQw9$>?8CEr$6O@+AF(Ufgb>s5CO@ z+J#n`1JCoMK)%da+PU{8kACpg@=mgI?KVm?S>Kq|-zK`)Uw18dH-2ZhZTT2aCMd8DYEg#G@Fy5CkFX+zY5Ts{Q4&95+QS>#!w6AOVB;ByHL-@$T-zHKVSguQQX|z5Fc`vVx=C~ zR=Ac~($VFQXK)#)Rbw5)?soEnYs}hV?|;kyFk3IJX=n(y8BPG&s|YPLH1t?+UKJ^z>MM`790KpyNWr%l7C@ z1uc80NHKIVQBik6mMV&B=>19leUtMNVs1{Ck#H@0;);+Iz{H)NP_(a|mnS>zt*!NX zKQ*DyQG3}2j#9u4!Fc?(#VP|X07DXJ#H_V<^o7VNW1*u_sXa&}Ic=qJEdlYO@vInn zBP_}v)fJeXnmSM~&?R2ijJ;G*YHR{bh=xVTi-!)&={Nx6$n=AMjZzG6JR`FR003Tb z4BPvg9vq)5OkG|5fFdV1cfo`aBx_}Njn`O?WJUJ(zeqGH+%>S9$`SEZX&Z}fgl#WT z5*1`*WSEY%YeAuI%(}yfv3HpOje)^n+X_^)xFZPHAq}b9(^2O9eN<=m0LfuZl`Eb3 zGKDi3+(#~Xz27Jqc$EbAoX3q!I}l?}Y{(5;h?kpr^=B=b?u$voojy`eveG$zUht5_ zXQ;>Z_ia-{gN(t}NmYrliA{Y?0yKHZIV+>Z@60j4n!~uMC&RZt3fI?hnh6`kAix~< z>8mDqrNh@F6YE)eu(lC?jh`q<8Cwm$=DK?^rkfW- z-w;Dv1^89Vrlys_f~~LaQd?c!v(*D&_$BpkZraXSS5|>FX@GMwMLd}H-;6m<{q^eX zU$4{<2v^#}KEQlm6|aA?MmtJidl4=k@P`|36g|DAC^j&fq!3(Ysmi_5=IP<;YU#bF zgVc*GhY5U{pEs+se8_4;lW07#40djwD}m1EsOe6~{ZxG{P-L}032$p#zmxB32MVHj z`=I}+s;X)f4n%LfkH0czaD>pwF61PBFj? zd{}sdgg~{NKq38S`)QyTju0abW)ByB7+M)z*1>{KwsBE3xxEXnDR?xZNj_Ry1bO=P ze?nX98T;X5ou#y%4o+tvqC3^pvU532KFSEFUXklRskf#W!*?(DTD1Ziu_~soW~@I8 znii^V%|I46xE%Yl9Dy*z0lL~FTMr#8M*uCZ19~!-r$#&_=co=uh5%`-RPL}x3HW%_ zla!qNa3h`dp`OxnjUdOuDR4@eEmNfzLpjA9!c(PliE_`!kQCzfnNTw_LiBo^8uzbs znrnwjJp%?6Ft^%50sXdi*Ds6P6F81f=;##tpa52i`RsqjqM}J4l7Z0{mafebCOeQj zz?wRQ-z*>>qG_V@81uidP`X8mGTv@2zNsBP3>LHW{~BTuXImR@M2;C1F6}m4Avm2c zH9a{wIWh4uF){Jk<9~j)db|A9G0(5gQ)zKLCVDjiWx>Cubi~*VXx#}X8{*lM(YwK# zuJx~ygAhD2Yv9k77@WZ}GBVcI>v3dU@L<@iaPMnwY8-6YjRgIZxp1h&R3}9}zJ5|` zs8;=6@=(PX{fI)Sv~Q08Bn{Nh(mEUqj(B@xsYy=h-Snx97AyeHiniWj!tsw}*5(U=Z(Y{e zKe{P!a#kjT6sAW}Q>frZJ;7Dl`il?t`2OmP&fRS3OE)wE0r}wP#V4C2|7;C-4foOv zZ)j);2?>#pBW-PM_4VVrs+}2NvZ_Ix#FG1z~&8{b>N7j0r(VgE7znSm@RQK0nWeAf=%eyUo zZlC{8ax)4$&an(+up1Q?71`L?4G!__1)t3uEG{lWjhlG|1YSx9m{8NuECG577>4I~ zubrXTL>DPRCQe2xJEqa$YD{!#_~(YtB0twJxv;b#n!j9Id&S|Iwc(jeyO`@J3#0$d z%$bjY$%Y7yY+PL2hCa7tG7S}#iJ_se^#CR_Gc#cXYjaamscKeAW+vvisIYL7aP=x6 zc>w}WN<#AT<;(hBw~e7r03A=ZClwSF_9@DtY1Z5=1Bj{tuSU7Uvp~CDFXD{WcK?)s zFZMbGyG4m@IIADsUzx=T<}U`!6<2)SgxqWkkj(lrFj)(CCxGLbQi zEhFn@Ee1%Loc_7(*e`mBFBY6IH~0P}9lu2YS?@c@)aPaGmiDQhG*L7IerME-kN)F( z9D!tzGCpro?48ZuwjOR@6s4CIL{%Boy1ya^xR5eHLobRU`1*@$ML&ab`6zp_!Zl~axj*`)tVV0IJ zKTr-mD#VK>t^7{&y>F$T+%pOo3_d#r%_T$YdwOOT1_vWe=+jEe%7mN{`^&8!EWoXc zY%`RPk8jOV^(P6`F6sM1BWNpJ+tF!$S2dZuwxY7RWO=0h&9JWlM8kNuHHRtsN~cE1 zdBJ@A9fe2)wE3!5uJ^5;R#lC~jlnhNlQ`NF4eb|c`bvdj@_ql7VadcJwDIs}r*G-0 zsoymjk}d60($h%^2_KmNBFkor+kI0>{5&}z67~d0cHd7CUS2{we&%l1A1m!b>)waU z(wAp@-!3mNbNI@qqph8sg_K*;N>=pKyD3M^N7t?^i)If?ITnMK^?z-6U8#L)Ipnqs zY$17BTq$36cyOSfa$FW?F8Gc2UBPV8Udp!{NJmxXT}B2E|KZ#Dq9?E?04*5KSt*o{ z1E?OcU~@}LG#A0}h9yvRVqW`j=OsbLq%s9NSkUk94=cGPTAY_irI#_D4H)!IP2pKk ziK}_-exVl@&h&V4cBu)53aA%$SL+5-_(GjI(srl*yzy3OyPF|=r*{x1_Lw6>v{~RG zeu58d<7VIr2(&FKaPqlDNz%@A{>i;h-RIBWzZNOxd~ZK4K(^f)l(faEc#`okM9Rk- z**=deVfm+g6eojxQ7nHnfv0n&p?}_Ab>?ry>iaTMf!X=u_zu#aaH7(#4qdCYscQkd~`JC!v|si^XmNke3us(vORyH?WgQz z%g4tb&w*FQtzi$)D$?QrDfa{H)~d%Bhor~_5h Tsxt7N{DHE(x?GKnW!V1$hx*SQ diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/exporter/IntelHexExporter.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/exporter/IntelHexExporter.java index eaf04de5bc..7b86e60c4d 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/exporter/IntelHexExporter.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/exporter/IntelHexExporter.java @@ -39,8 +39,8 @@ import ghidra.util.task.TaskMonitor; *

    * The output defaults to lines of 16-bytes but this is configurable using the * {@link #recordSizeOption} attribute. This allows users to select any record size - * up to the max of 0xFF. Users may also choose to force a record size for every line - * of output, which will only print out lines that match the max record size; any other + * up to the max of 0xFF. Users may also choose to Drop Extra Bytes, which will + * cause only lines that match the max record size to be printed; any other * bytes will be dropped. If this option is not set, every byte will be represented in the output. */ public class IntelHexExporter extends Exporter { @@ -100,8 +100,8 @@ public class IntelHexExporter extends Exporter { /** * Option for exporting Intel Hex records that allows users to specify a record size for the - * output. Users may also optionally specify a force option that will only output - * lines that match this maximum size. + * output. Users may also optionally select the Drop Extra Bytes option that + * will cause only those records that match the maximum size to be output to the file. * * @see RecordSizeComponent */ @@ -140,8 +140,8 @@ public class IntelHexExporter extends Exporter { return Integer.class; } - public boolean getForce() { - return comp.getForce(); + public boolean dropExtraBytes() { + return comp.dropExtraBytes(); } } @@ -151,28 +151,28 @@ public class IntelHexExporter extends Exporter { *

      *
    • input: a {@link HintTextField} for entering numeric digits; these * represent the record size for each line of output
    • - *
    • forceCb: a {@link JCheckBox} for specifying the force setting; this - * enforces that every line in the output matches the specified record size
    • + *
    • dropCb: a {@link JCheckBox} for specifying a setting that enforces that every line in + * the output matches the specified record size
    • *
    * - * Note: If the force option is set, any bytes that are left over after outputting - * all lines that match the record size will be dropped on the floor. + * Note: If the Drop Extra Bytes option is set, any bytes that are left over + * after outputting all lines that match the record size will be omitted from the output. */ private class RecordSizeComponent extends JPanel { private HintTextField input; - private JCheckBox forceCb; + private JCheckBox dropCb; public RecordSizeComponent(int recordSize) { setLayout(new BorderLayout()); input = new HintTextField(String.valueOf(recordSize), false, new BoundedIntegerVerifier()); - forceCb = new JCheckBox("force"); + dropCb = new JCheckBox("Drop Extra Bytes"); input.setText(String.valueOf(recordSize)); add(input, BorderLayout.CENTER); - add(forceCb, BorderLayout.EAST); + add(dropCb, BorderLayout.EAST); } public int getValue() { @@ -184,8 +184,8 @@ public class IntelHexExporter extends Exporter { return Integer.valueOf(val); } - public boolean getForce() { - return forceCb.isSelected(); + public boolean dropExtraBytes() { + return dropCb.isSelected(); } } @@ -276,9 +276,9 @@ public class IntelHexExporter extends Exporter { AddressSetView addrSetView, TaskMonitor monitor) throws MemoryAccessException { int size = (int) recordSizeOption.getValue(); - boolean forceSize = recordSizeOption.getForce(); + boolean dropBytes = recordSizeOption.dropExtraBytes(); - IntelHexRecordWriter writer = new IntelHexRecordWriter(size, forceSize); + IntelHexRecordWriter writer = new IntelHexRecordWriter(size, dropBytes); AddressSet set = new AddressSet(addrSetView); diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/IntelHexRecordWriter.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/IntelHexRecordWriter.java index 471842790e..16d21698c1 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/IntelHexRecordWriter.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/IntelHexRecordWriter.java @@ -22,7 +22,7 @@ import ghidra.program.model.address.*; public class IntelHexRecordWriter { private final int maxBytesPerLine; - private final boolean forceSize; + private final boolean dropExtraBytes; private Address startAddress = null; private Long oldSegment = null; @@ -36,15 +36,15 @@ public class IntelHexRecordWriter { * Constructor * * @param maxBytesPerLine the maximum number of bytes to write per line in the hex output - * @param forceSize if true, only lines matching {@link #maxBytesPerLine} will be output; + * @param dropExtraBytes if true, only lines matching {@link #maxBytesPerLine} will be output; * remaining bytes will be left out */ - public IntelHexRecordWriter(int maxBytesPerLine, boolean forceSize) { + public IntelHexRecordWriter(int maxBytesPerLine, boolean dropExtraBytes) { if (maxBytesPerLine > IntelHexRecord.MAX_RECORD_LENGTH) { throw new IllegalArgumentException("maxBytesPerLine > IntelHexRecord.MAX_RECORD_LENGTH"); } this.maxBytesPerLine = maxBytesPerLine; - this.forceSize = forceSize; + this.dropExtraBytes = dropExtraBytes; } public void addByte(Address address, byte b) { @@ -129,8 +129,9 @@ public class IntelHexRecordWriter { public List finish(Address entryPoint) { // Before finalizing things, write out any remaining bytes that haven't yet been written, if - // the user has specified to do so via the force option (false = write out everything). - if (bytes.size() > 0 && !forceSize) { + // the user has specified to do so via the drop extra bytes option (false = + // write out everything). + if (bytes.size() > 0 && !dropExtraBytes) { emitData(); }