From 3473ad8820fe80c027acfec76f546d321ef01045 Mon Sep 17 00:00:00 2001 From: Andrew Hannam Date: Thu, 4 Apr 2013 21:01:06 +1000 Subject: [PATCH] file2c copyright and add comment to output --- tools/file2c/Binaries - Win32/file2c.exe | Bin 9216 -> 9728 bytes .../Source/VS 2012 Project/file2c.v11.suo | Bin 25600 -> 25600 bytes tools/file2c/Source/file2c.c | 48 ++++++++++++++++-- 3 files changed, 44 insertions(+), 4 deletions(-) diff --git a/tools/file2c/Binaries - Win32/file2c.exe b/tools/file2c/Binaries - Win32/file2c.exe index d1959ad6551c71987cadafc2580bbdea203f4cfa..333b11383dd11ca03c20c72462fb8f7350a34b05 100644 GIT binary patch delta 2852 zcmc&#ZBSI#89sMefrSf~ZxInMxO^G1?(Y3ucCW6L?a)l9TR{jT>u10#Nx*@AG#VH#Cr&+D=U!+ESCwI2kOKVNBFjsL_Vnq#DG)Way97wa}C%)>6ZG`(Bn+I{DEb z{n0Z#d*1WB?|Hw@Ib46W|LLCjB4?B5TWD!aBOR8EB_osyL|&8(u2k}{`qa8&gd7^< zL}(i8EzHE-2u)$IAQ9q~GrD}tsGP&tq^cA!N&}=S53qvNjRp|G1SJ77loDO3BIz=e zUAmm|0$`R6C-^pXG(X?I5202)C?Eie2atm&b;FpiwqBO-2D!k01gn(d0wX$E_%Z23 ztxdJ+t-xqvFzk)%egbTksGSqRnOp_HF*w_3rTaq z`$Vu8bPcjF47At}Ch9Gj>DST^JKgGdU=+XmE?CH4*Mq~53!mu^s#1bH55>&95xhnO zU(>W#p|F{5A8`STdUA_(P}Wym%}6q%1yaXF-sH@V@lTSk6~Lw-m_tIO!QYnn<*k+FDUu%qLb<+A!QBv}@-M`BTq` zI^KPdlm)G5aTdJQgF9CwdVIKB#MdoS(1}_xH!8~>9G1aJDN}ac<8vikcFn`&TVeCe zdbf!cu^owlqqE4HESet?VCd&Hie5(Di&Fd}DmdwdV2;=tmpzdvRrQ#1Ex`SQ^d3{9 zuR5xhU63AJPiZae%9P)aj4h}toE>af0imSC;W{t`LSAFkiYB2qZuLgA;??p|e35Cm zf_5#D(r3~3sL~uYDI$0(t(YiM(D>}P7EdfKO0JP%24os(+L=EFKQLmgz z=-IRz{^>+sibE(MB$~mI1Shac>+aK#S7W3L)Bzz4G^%81Rn_cjji$mQVqv}$MN$+g zaU-#yL#T126&L4?z||?269sJGHN#r$6NNNT*nm=Jcmg}F_zhMa^)KbDp%lBWOc{iP z%_|TZiQG}hq*bHTyQK zU!O#-C+oxmon*^_=bOpHdpgPe&27ycd%VrhlBlJl{ROh9xU-0a+t+!ZZNJH6f(`Iz zDDDK`Pg?S%9Tep#mG}5N1-3H}W#^2XW8=VLP{kGbw+7C;~xVGP2-}=MwuKwrF zC;tsoKFtikN%j`zDBsJkdmpB)DU%p`h@y|TA*;6q)TX?-a>En(H?pq zEzw={kLWNxN?)bN=nv?dG{G1dGs7~~%r<5R)66`_c$t?NA9IWeF}=)j<}GG`8DcIo zzh}moY32^|SLSo(pUeV-u?Z}}u44t(!?v@B*_YWa_8080*a7x8>}B>t_BQ(`_8;t* zEaDQmR4$A26>_DVg>!TD+-|OgYv;V&>)Z+MZSK$9EcZD#&pqVyd@`TGui{C*lsEAV zFYqqDhHvEe^85K0_``e`-^>4uKf|Bn6KpxQeA{7qT9$){0Q6kRw}|G*qiLmCZ{|I+MrY zrXlbIlnIfj$)wSCztXu(CXGhnF{G&7NDSFh(dp!<`skYj5Hu>?&>ADNC&;!q&s)MX z3Z((*8Y9`AMxkk!3Qap^%QF&AP2A(E47$WSMg0dw=2 z4H9WNYdaV6 z(TTmI$nn2qi2k`!(TU`!7R^-67(0`X8-}6CvjO3ymG|HjGqpw$3Y3TRW?N;!WF_g0U@oJBaDH*zi=F>&QDtSuT0?I_E&nKFB`ar`ug6 zIdO9t*H^n5El-x}3D+LWyKX(}O2%GaNk|;DfH2^I2e`n8z#QvW5V8q0gQviL@G|HD zz2F$=2g6_td;@L+A8=I>QU(}M2Yv$ffgaFXMPlRwEY5<<;2O9ICcz3gmw|hM4G=K3 z9Gin2=*KY6kEaXd`6c^ z4F!6Udlk&}T6dd17Dc*x|M#OZl^W6hklFxh(1GKr@y0fm|UiUxt|F!TbO3% zSw?3LGkwfiW|$dcZZcEM0@lfvvz08**0POkoNZ?hu&=P4>{0d{`y2LZjQx_$vbWef ztd+~-+*~nN&Mo6sbKmD`xy{^mu8G^jJ;Oc6#krqx8rR9a#vS60a7Veb+;wh}v+*vz zkT2oa^AGTw`E7g?-@@%tepP2umtw*v9!_+9=I|7w5G|FFN_f5iWx zzu#XJC=FBxwgh$sb_Zxaj(%*vAsnJ)7vFfcIi1Mz<#nA|9+GP#6#4WsB}MHXX5;mHSC zj5l|%JYi&2D3`>ko_!A|NV6!=5Z=jwEW(_eK$aX33j=w|lekzW%W!Z^KETbgxr5^X zI|mDrWt&R`0+?6?fFhIY#C0}*5qifgXzLmM$Mbgu)1rTj5@%fIi7|l8+{`Bai)oUC z%j6?M2AfMHP&7&LFfLMH+N9vZw%NsQ591;YmPu+ZVCE(r4IaT{py?2xbzlOBvDwn% nIP)X{4>XrJ^)N1qVAw}-Uew>pFnJ)9NFfcIi1Mz<#nA|9+GP#6#4Wry-MHb`9M_5!? zgn?3 + + This file is part of ChibiOS/GFX. + + ChibiOS/GFX is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + ChibiOS/GFX is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ #include #include #include @@ -26,7 +45,7 @@ static char *filenameof(char *fname) { static char *clean4c(char *fname) { char *p; - while((p = strpbrk(fname, "-+ `~!@#$%^&*(){}[]|:;'\",<>?/|="))) *p = '_'; + while((p = strpbrk(fname, "-+ `~!@#$%^&*(){}[]|:;'\",<>?/|=.\\"))) *p = '_'; return fname; } @@ -46,7 +65,7 @@ size_t len; size_t i; /* Default values for our parameters */ - opt_progname = argv[0]; + opt_progname = filenameof(argv[0]); opt_inputfile = 0; opt_outputfile = 0; opt_arrayname = 0; @@ -59,6 +78,7 @@ size_t i; if (argv[0][0] == '-') { while (*++(argv[0])) { switch(argv[0][0]) { + case '?': case 'h': goto usage; case 'b': opt_breakblocks = 1; break; case 'c': opt_const = "const "; break; case 's': opt_static = "static "; break; @@ -77,6 +97,7 @@ size_t i; fprintf(stderr, "Usage:\n\t%s -?\n" "\t%s [-bs] [-n name] [inputfile] [outputfile]\n" "\t\t-?\tThis help\n" + "\t\t-h\tThis help\n" "\t\t-b\tBreak the arrays for compilers that won't handle large arrays\n" "\t\t-c\tDeclare the arrays as const (useful to ensure they end up in Flash)\n" "\t\t-s\tDeclare the arrays as static\n" @@ -116,14 +137,33 @@ size_t i; } else f_output = stdout; - /* Set the array name */ + /* Print the comment header */ + fprintf(f_output, "/**\n * This file was generated "); + if (opt_inputfile) fprintf(f_output, "from \"%s\" ", opt_inputfile); + fprintf(f_output, "using...\n *\n *\t%s", opt_progname); + if (opt_arrayname || opt_static[0] || opt_const[0] || opt_breakblocks) { + fprintf(f_output, " -"); + if (opt_breakblocks) fprintf(f_output, "b"); + if (opt_const[0]) fprintf(f_output, "c"); + if (opt_static[0]) fprintf(f_output, "s"); + if (opt_arrayname) fprintf(f_output, "n %s", opt_arrayname); + } + if (opt_inputfile) fprintf(f_output, " %s", opt_inputfile); + if (opt_outputfile) fprintf(f_output, " %s", opt_outputfile); + fprintf(f_output, "\n *\n */\n"); + + /* + * Set the array name. + * We do this after printing opt_inputfile for the last time as we + * modify opt_inputfile in place to generate opt_arrayname. + */ if (!opt_arrayname) { if (opt_inputfile) opt_arrayname = filenameof(opt_inputfile); if (!opt_arrayname || !opt_arrayname[0]) opt_arrayname = "filearray"; - opt_arrayname = clean4c(opt_arrayname); } + opt_arrayname = clean4c(opt_arrayname); /* Read the file processing 1K at a time */ blocknum = 0;