<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Commenti a: Nintendo DS Roms Trimmer</title>
	<atom:link href="http://www.voria.org/2008/08/11/nintendo-ds-roms-trimmer/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.voria.org/2008/08/11/nintendo-ds-roms-trimmer/</link>
	<description>Scazzi e scleri personali</description>
	<pubDate>Tue, 06 Jan 2009 05:23:20 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Di: Anonimo</title>
		<link>http://www.voria.org/2008/08/11/nintendo-ds-roms-trimmer/comment-page-1/#comment-186</link>
		<dc:creator>Anonimo</dc:creator>
		<pubDate>Fri, 19 Dec 2008 18:42:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.voria.org/?p=148#comment-186</guid>
		<description>:monkey:</description>
		<content:encoded><![CDATA[<p> <img src='http://www.voria.org/wp-includes/images/smilies/monkey.gif' alt=':monkey:' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: voRia&#8217;s Place &#187; Blog Archive &#187; NDS Roms Trimmer - Versione 1.1</title>
		<link>http://www.voria.org/2008/08/11/nintendo-ds-roms-trimmer/comment-page-1/#comment-140</link>
		<dc:creator>voRia&#8217;s Place &#187; Blog Archive &#187; NDS Roms Trimmer - Versione 1.1</dc:creator>
		<pubDate>Mon, 18 Aug 2008 20:05:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.voria.org/?p=148#comment-140</guid>
		<description>[...] sono invece dedicato alla programmazione for fun, e dopo il commento di Fulvio Satta, ho deciso di migliorare il trimmer in modo da renderlo più affidabile e [...]</description>
		<content:encoded><![CDATA[<p>[...] sono invece dedicato alla programmazione for fun, e dopo il commento di Fulvio Satta, ho deciso di migliorare il trimmer in modo da renderlo più affidabile e [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Fulvio Satta</title>
		<link>http://www.voria.org/2008/08/11/nintendo-ds-roms-trimmer/comment-page-1/#comment-139</link>
		<dc:creator>Fulvio Satta</dc:creator>
		<pubDate>Mon, 18 Aug 2008 18:55:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.voria.org/?p=148#comment-139</guid>
		<description>Giusto!

:monkey:  :monkey:  :monkey:

Hahaha :D
Comunque ti rinnovo l'augurio di buon lavoro, se diverrà un bel progetto potrei essere uno dei futuri utenti :)</description>
		<content:encoded><![CDATA[<p>Giusto!</p>
<p> <img src='http://www.voria.org/wp-includes/images/smilies/monkey.gif' alt=':monkey:' class='wp-smiley' />  <img src='http://www.voria.org/wp-includes/images/smilies/monkey.gif' alt=':monkey:' class='wp-smiley' />  <img src='http://www.voria.org/wp-includes/images/smilies/monkey.gif' alt=':monkey:' class='wp-smiley' /> </p>
<p>Hahaha <img src='http://www.voria.org/wp-includes/images/smilies/biggrin.gif' alt=':D' class='wp-smiley' /><br />
Comunque ti rinnovo l&#8217;augurio di buon lavoro, se diverrà un bel progetto potrei essere uno dei futuri utenti <img src='http://www.voria.org/wp-includes/images/smilies/smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: voRia</title>
		<link>http://www.voria.org/2008/08/11/nintendo-ds-roms-trimmer/comment-page-1/#comment-138</link>
		<dc:creator>voRia</dc:creator>
		<pubDate>Sun, 17 Aug 2008 01:18:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.voria.org/?p=148#comment-138</guid>
		<description>Ciao, prima di tutto grazie per il commento :)

Ero già a conoscenza di tutti i problemi che mi hai segnalato. Come ho già detto, non avevo nemmeno l'intenzione di pubblicare qualcosa fino a quando il progetto non fosse stato più maturo.

Il trimmer attuale è solo il risultato di una urgenza personale avuta una notte di due mesi fa. Quando l'ho scritto non mi sono preoccupato troppo dei controlli necessari nel codice né di eventuali altri problemi secondari. Ho seguito la semplice filosofia "It just works for me" :D 

Già il fatto di controllare se il file è una rom valida solo guardando alla sua estensione la dice lunga :asd:

A dirla tutta, la funzione di trimming è solo la punta dell'iceberg. Ho intenzione di implementare in questa utility la gestione completa dell'header dei file NDS, magari aggiungendo tra le altre cose anche la possibità di estrarre i file in essi contenuti. Ma questo si vedrà col tempo, e se ce ne sarà reale utilità.

L'unica cosa certa è che questa utility resterà indipendente dal gestore "a la amarok" che ho in mente: da buon gentooista quale sei, sarai certamente daccordo con me se dico che non c'è nulla di meglio di un buon tool CLI per essere sicuri che un lavoro sia svolto bene :D

Per il resto, la penso allo stesso modo: la scimmietta è mitica :monkey: :asd: :monkey:</description>
		<content:encoded><![CDATA[<p>Ciao, prima di tutto grazie per il commento <img src='http://www.voria.org/wp-includes/images/smilies/smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Ero già a conoscenza di tutti i problemi che mi hai segnalato. Come ho già detto, non avevo nemmeno l&#8217;intenzione di pubblicare qualcosa fino a quando il progetto non fosse stato più maturo.</p>
<p>Il trimmer attuale è solo il risultato di una urgenza personale avuta una notte di due mesi fa. Quando l&#8217;ho scritto non mi sono preoccupato troppo dei controlli necessari nel codice né di eventuali altri problemi secondari. Ho seguito la semplice filosofia &#8220;It just works for me&#8221; <img src='http://www.voria.org/wp-includes/images/smilies/biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Già il fatto di controllare se il file è una rom valida solo guardando alla sua estensione la dice lunga <img src='http://www.voria.org/wp-includes/images/smilies/asd.gif' alt=':asd:' class='wp-smiley' /> </p>
<p>A dirla tutta, la funzione di trimming è solo la punta dell&#8217;iceberg. Ho intenzione di implementare in questa utility la gestione completa dell&#8217;header dei file NDS, magari aggiungendo tra le altre cose anche la possibità di estrarre i file in essi contenuti. Ma questo si vedrà col tempo, e se ce ne sarà reale utilità.</p>
<p>L&#8217;unica cosa certa è che questa utility resterà indipendente dal gestore &#8220;a la amarok&#8221; che ho in mente: da buon gentooista quale sei, sarai certamente daccordo con me se dico che non c&#8217;è nulla di meglio di un buon tool CLI per essere sicuri che un lavoro sia svolto bene <img src='http://www.voria.org/wp-includes/images/smilies/biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Per il resto, la penso allo stesso modo: la scimmietta è mitica <img src='http://www.voria.org/wp-includes/images/smilies/monkey.gif' alt=':monkey:' class='wp-smiley' /> <img src='http://www.voria.org/wp-includes/images/smilies/asd.gif' alt=':asd:' class='wp-smiley' /> <img src='http://www.voria.org/wp-includes/images/smilies/monkey.gif' alt=':monkey:' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Fulvio Satta</title>
		<link>http://www.voria.org/2008/08/11/nintendo-ds-roms-trimmer/comment-page-1/#comment-137</link>
		<dc:creator>Fulvio Satta</dc:creator>
		<pubDate>Sat, 16 Aug 2008 23:52:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.voria.org/?p=148#comment-137</guid>
		<description>Innanzitutto ti ringrazio, anche se non amo i trimmer, comunque potrebbe essere utile in qualche occasione.

Come seconda cosa, ho dato un'occhiata veloce al codice, ben scritto e ben commentato, ma c'è un bel problemino di buffer overflow, alle righe 216 e 217. Il problema è che se il nome del file supera i 511 caratteri il buffer viene semplicemente ecceduto. Converrebbe modificare il codice, utilizzando strncpy al posto di strcpy, in modo da troncare la stringa, qual'ora troppo lunga, e poi aggiungere il carattere nullo, se dovesse servire. La linea 216 diverrebbe 2 linee, e verrebbe così:

strncpy(backupname, argv[i], 511 - strlen(".bak"));
backupname[511] = 0;

Poi, se non vuoi troncare, potresti usare la heap, ma già diventa un po' più complicato. Oppure, se non t'interessa la massima compatibilità col POSIX, potresti usare asprintf:

asprintf(backupname, "%s.bak", argv[i]);

...

free(backupname);

In questo modo allocheresti backupname della dimensione necessaria, automaticamente. Bisogna solo ricordarsi di deallocarla alla fine, quando non serve più. asprintf è disponibile con le glibc, e sotto *BSD, perciò abbastanza diffusa, ma non la trovi proprio ovunque.

Poi, per essere pignoli, dovresti controllare che almeno le funzioni più importanti vadano a buon fine, e dovresti anche mettere un link ad un file di testo che contiene l'intera GPL, ma insomma, quelli son dettagli. :)

In ogni caso buon lavoro e grazie :)

Ah, e  :monkey:  :monkey:  :monkey:
Mi piaceva la faccina :D</description>
		<content:encoded><![CDATA[<p>Innanzitutto ti ringrazio, anche se non amo i trimmer, comunque potrebbe essere utile in qualche occasione.</p>
<p>Come seconda cosa, ho dato un&#8217;occhiata veloce al codice, ben scritto e ben commentato, ma c&#8217;è un bel problemino di buffer overflow, alle righe 216 e 217. Il problema è che se il nome del file supera i 511 caratteri il buffer viene semplicemente ecceduto. Converrebbe modificare il codice, utilizzando strncpy al posto di strcpy, in modo da troncare la stringa, qual&#8217;ora troppo lunga, e poi aggiungere il carattere nullo, se dovesse servire. La linea 216 diverrebbe 2 linee, e verrebbe così:</p>
<p>strncpy(backupname, argv[i], 511 - strlen(&#8221;.bak&#8221;));<br />
backupname[511] = 0;</p>
<p>Poi, se non vuoi troncare, potresti usare la heap, ma già diventa un po&#8217; più complicato. Oppure, se non t&#8217;interessa la massima compatibilità col POSIX, potresti usare asprintf:</p>
<p>asprintf(backupname, &#8220;%s.bak&#8221;, argv[i]);</p>
<p>&#8230;</p>
<p>free(backupname);</p>
<p>In questo modo allocheresti backupname della dimensione necessaria, automaticamente. Bisogna solo ricordarsi di deallocarla alla fine, quando non serve più. asprintf è disponibile con le glibc, e sotto *BSD, perciò abbastanza diffusa, ma non la trovi proprio ovunque.</p>
<p>Poi, per essere pignoli, dovresti controllare che almeno le funzioni più importanti vadano a buon fine, e dovresti anche mettere un link ad un file di testo che contiene l&#8217;intera GPL, ma insomma, quelli son dettagli. <img src='http://www.voria.org/wp-includes/images/smilies/smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>In ogni caso buon lavoro e grazie <img src='http://www.voria.org/wp-includes/images/smilies/smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Ah, e  <img src='http://www.voria.org/wp-includes/images/smilies/monkey.gif' alt=':monkey:' class='wp-smiley' />  <img src='http://www.voria.org/wp-includes/images/smilies/monkey.gif' alt=':monkey:' class='wp-smiley' />  <img src='http://www.voria.org/wp-includes/images/smilies/monkey.gif' alt=':monkey:' class='wp-smiley' /><br />
Mi piaceva la faccina <img src='http://www.voria.org/wp-includes/images/smilies/biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>
