<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tim Van Wassenhove &#187; C</title>
	<atom:link href="http://www.timvw.be/category/information-technology/c/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.timvw.be</link>
	<description>The journey of a thousand miles begins with one step.</description>
	<lastBuildDate>Thu, 29 Jul 2010 17:07:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>A TetriNet Spectator bot that generates game statistics</title>
		<link>http://www.timvw.be/a-tetrinet-spectator-bot-that-generates-game-statistics/</link>
		<comments>http://www.timvw.be/a-tetrinet-spectator-bot-that-generates-game-statistics/#comments</comments>
		<pubDate>Thu, 05 Sep 2002 20:06:53 +0000</pubDate>
		<dc:creator>timvw</dc:creator>
				<category><![CDATA[C]]></category>

		<guid isPermaLink="false">http://www.timvw.be/a-tetrinet-spectator-bot-that-generates-game-statistics/</guid>
		<description><![CDATA[Get the TetriNet Spectator bot that generates game statistics: statsbot.zip.]]></description>
			<content:encoded><![CDATA[<p>Get the TetriNet Spectator bot that generates game statistics: <a href="http://www.timvw.be/wp-content/code/c/statsbot.zip">statsbot.zip</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.timvw.be/a-tetrinet-spectator-bot-that-generates-game-statistics/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dump a MySQL database into a TetriNet winlist</title>
		<link>http://www.timvw.be/dump-a-mysql-database-into-a-tetrinet-winlist/</link>
		<comments>http://www.timvw.be/dump-a-mysql-database-into-a-tetrinet-winlist/#comments</comments>
		<pubDate>Mon, 29 Jul 2002 20:02:54 +0000</pubDate>
		<dc:creator>timvw</dc:creator>
				<category><![CDATA[C]]></category>

		<guid isPermaLink="false">http://www.timvw.be/dump-a-mysql-database-into-a-tetrinet-winlist/</guid>
		<description><![CDATA[/* &#160;* database2winlist.c &#160;* &#160;* Author &#160; &#160; &#160; &#160; &#160; &#160; &#160; : Tim Van Wassenhove &#60;timvw@users.sourceforge.net&#62; &#160;* Update &#160; &#160; &#160; &#160; &#160; &#160; &#160; : July 29, 2002 12:53:24 AM &#160;* &#160;* Compile&#160; &#160; &#160; : gcc database2winlist.c -o update.exe -L/usr/local/lib/mysql -lmysqlclient &#160;* Platform : cygwin NT 5.0 &#160;* &#160;* Compile&#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<div class="c" style="font-family:monospace;"><span class="coMULTI">/*<br />
&nbsp;* database2winlist.c<br />
&nbsp;*<br />
&nbsp;* Author &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : Tim Van Wassenhove &lt;timvw@users.sourceforge.net&gt;<br />
&nbsp;* Update &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : July 29, 2002 12:53:24 AM<br />
&nbsp;*<br />
&nbsp;* Compile&nbsp; &nbsp; &nbsp; : gcc database2winlist.c -o update.exe -L/usr/local/lib/mysql -lmysqlclient<br />
&nbsp;* Platform : cygwin NT 5.0<br />
&nbsp;*<br />
&nbsp;* Compile&nbsp; &nbsp; &nbsp; : gcc database2winlist.c -o update -lmysqlclient<br />
&nbsp;* Platform &nbsp; &nbsp; : Debian 3.0 Linux2.2.17 libmysqlclient10-dev<br />
&nbsp;*<br />
&nbsp;* This program reads all the entries from the TABLE winlist_server<br />
&nbsp;* and writes them back to a tetrix winlist file.<br />
&nbsp;*<br />
&nbsp;* The TABLE should contain COLUMNS:<br />
&nbsp;* &nbsp;-name VARCHAR(30),<br />
&nbsp;* &nbsp;-type VARCHAR(1),<br />
&nbsp;* &nbsp;-points INT<br />
&nbsp;*<br />
&nbsp;*/</span><br />
<br />
<span class="co2">#include &lt;stdio.h&gt;</span><br />
<span class="co2">#include &lt;stdlib.h&gt;</span><br />
<span class="co2">#include &lt;string.h&gt;</span><br />
<span class="co2">#include &lt;mysql/mysql.h&gt;</span><br />
<br />
<span class="coMULTI">/* constants for database */</span><br />
<span class="co2">#define HOST &quot;localhost&quot;</span><br />
<span class="co2">#define USER &quot;tetrisite&quot;</span><br />
<span class="co2">#define PASS &quot;tetrisite&quot;</span><br />
<span class="co2">#define DB &nbsp; &quot;tetrisite&quot;</span><br />
<br />
<span class="coMULTI">/* constants for winlist file */</span><br />
<span class="co2">#define NICKLEN 30</span><br />
<span class="co2">#define MAXWINLIST 5120</span><br />
<span class="co2">#define FILE_WINLIST &quot;game.winlist&quot;</span><br />
<br />
<span class="coMULTI">/* structur winlist */</span><br />
<span class="kw4">struct</span> winlist_t <span class="br0">&#123;</span><br />
&nbsp; <span class="kw4">char</span> status<span class="sy0">;</span><br />
&nbsp; <span class="kw4">char</span> name<span class="br0">&#91;</span>NICKLEN<span class="sy0">+</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; <span class="kw4">unsigned</span> <span class="kw4">long</span> <span class="kw4">int</span> score<span class="sy0">;</span><br />
&nbsp; <span class="kw4">char</span> inuse<span class="sy0">;</span><br />
<span class="br0">&#125;</span><span class="sy0">;</span><br />
<br />
<span class="coMULTI">/* main method */</span><br />
<span class="kw4">int</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; MYSQL mysql<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; MYSQL_RES <span class="sy0">*</span>result<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; MYSQL_ROW row<span class="sy0">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">struct</span> winlist_t w<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; FILE <span class="sy0">*</span>file_out<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> i<span class="sy0">,</span>valid<span class="sy0">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* initialise mysql */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span>mysql_init<span class="br0">&#40;</span><span class="sy0">&amp;</span>mysql<span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a> <span class="br0">&#40;</span><span class="st0">&quot;failed initialising<span class="es1">\n</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="nu0">1</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* connect to mysql */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span>mysql_real_connect<span class="br0">&#40;</span><span class="sy0">&amp;</span>mysql<span class="sy0">,</span>HOST<span class="sy0">,</span>USER<span class="sy0">,</span>PASS<span class="sy0">,</span>DB<span class="sy0">,</span><span class="nu0">3306</span><span class="sy0">,</span><span class="kw2">NULL</span><span class="sy0">,</span><span class="kw2">NULL</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a> <span class="br0">&#40;</span><span class="st0">&quot;failed connecting: %s<span class="es1">\n</span>&quot;</span><span class="sy0">,</span>mysql_error<span class="br0">&#40;</span><span class="sy0">&amp;</span>mysql<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="nu0">2</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* open winlist file */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; file_out <span class="sy0">=</span> fopen<span class="br0">&#40;</span>FILE_WINLIST<span class="sy0">,</span><span class="st0">&quot;w&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>file_out <span class="sy0">==</span> <span class="kw2">NULL</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a> <span class="br0">&#40;</span><span class="st0">&quot;winlistfile does not exist<span class="es1">\n</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="nu0">4</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* write all entries into the file */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; mysql_query<span class="br0">&#40;</span><span class="sy0">&amp;</span>mysql<span class="sy0">,</span><span class="st0">&quot;SELECT * FROM winlist_server ORDER BY POINTS DESC&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; result <span class="sy0">=</span> mysql_use_result<span class="br0">&#40;</span><span class="sy0">&amp;</span>mysql<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">while</span> <span class="br0">&#40;</span><span class="br0">&#40;</span>row <span class="sy0">=</span> mysql_fetch_row<span class="br0">&#40;</span>result<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">////w.status = (char) lengths[1];</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//w.name = (char) lengths[0];</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//w.score = (int) lengths[2];</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//w.inuse = &#8217;1&#8242;;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//fwrite(w, sizeof(struct winlist_t), 1, file_out);</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a><span class="br0">&#40;</span><span class="st0">&quot;%s %s %<span class="es1">\n</span>&quot;</span><span class="sy0">,</span>row<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="sy0">,</span>row<span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="sy0">,</span>row<span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* close winlist file */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; fclose<span class="br0">&#40;</span>file_out<span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* disconnect from mysql */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; mysql_close<span class="br0">&#40;</span><span class="sy0">&amp;</span>mysql<span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="nu0">0</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></div><p>Download the source for <a href="http://www.timvw.be/wp-content/code/c/database2winlist.txt">database2winlist.txt</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.timvw.be/dump-a-mysql-database-into-a-tetrinet-winlist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Write a TetriNet winlist to a MySQL database</title>
		<link>http://www.timvw.be/write-a-tetrinet-winlist-to-a-mysql-database/</link>
		<comments>http://www.timvw.be/write-a-tetrinet-winlist-to-a-mysql-database/#comments</comments>
		<pubDate>Sat, 05 May 2001 19:55:31 +0000</pubDate>
		<dc:creator>timvw</dc:creator>
				<category><![CDATA[C]]></category>

		<guid isPermaLink="false">http://www.timvw.be/write-a-tetrinet-winlist-to-a-mysql-database/</guid>
		<description><![CDATA[/* &#160;* winlist2database.c &#160;* &#160;* Author &#160; &#160; &#160; &#160; &#160; &#160; &#160; : Tim Van Wassenhove &#160;* Update &#160; &#160; &#160; &#160; &#160; &#160; &#160; : May 05, 200112:53:24 AM &#160;* &#160;* Compile&#160; &#160; &#160; : gcc winlist2database.c -o winlist.exe -L/usr/local/lib/mysql -lmysqlclient &#160;* Platform : cygwin NT 5.0 &#160;* &#160;* Compile&#160; &#160; &#160; : [...]]]></description>
			<content:encoded><![CDATA[<div class="c" style="font-family:monospace;"><span class="coMULTI">/*<br />
&nbsp;* winlist2database.c<br />
&nbsp;*<br />
&nbsp;* Author &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : Tim Van Wassenhove<br />
&nbsp;* Update &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : May 05, 200112:53:24 AM<br />
&nbsp;*<br />
&nbsp;* Compile&nbsp; &nbsp; &nbsp; : gcc winlist2database.c -o winlist.exe -L/usr/local/lib/mysql -lmysqlclient<br />
&nbsp;* Platform : cygwin NT 5.0<br />
&nbsp;*<br />
&nbsp;* Compile&nbsp; &nbsp; &nbsp; : gcc winlist2database.c -o winlist -lmysqlclient<br />
&nbsp;* Platform &nbsp; &nbsp; : Debian 2.2r4 Linux2.2.17 libmysqlclient10-dev<br />
&nbsp;*<br />
&nbsp;* This program reads a tetrinetx winlist file.<br />
&nbsp;* After reading all the entries are copied into a database.<br />
&nbsp;*<br />
&nbsp;* The TABLE should contain COLUMNS:<br />
&nbsp;* &nbsp;-name VARCHAR(30),<br />
&nbsp;* &nbsp;-type VARCHAR(1),<br />
&nbsp;* &nbsp;-points INT<br />
&nbsp;*<br />
&nbsp;*/</span><br />
<br />
<span class="co2">#include &lt;stdio.h&gt;</span><br />
<span class="co2">#include &lt;stdlib.h&gt;</span><br />
<span class="co2">#include &lt;string.h&gt;</span><br />
<span class="co2">#include &lt;mysql/mysql.h&gt;</span><br />
<br />
<span class="coMULTI">/* constants for database */</span><br />
<span class="co2">#define HOST &quot;&quot;</span><br />
<span class="co2">#define USER &quot;&quot;</span><br />
<span class="co2">#define PASS &quot;&quot;</span><br />
<span class="co2">#define DB &nbsp; &quot;&quot;</span><br />
<span class="co2">#define TABL &quot;&quot;</span><br />
<br />
<span class="coMULTI">/* constants for winlist file */</span><br />
<span class="co2">#define NICKLEN 30</span><br />
<span class="co2">#define MAXWINLIST 5120</span><br />
<span class="co2">#define FILE_WINLIST &quot;game.winlist&quot;</span><br />
<br />
<span class="coMULTI">/* structur winlist */</span><br />
<span class="kw4">struct</span> winlist_t <span class="br0">&#123;</span><br />
&nbsp; <span class="kw4">char</span> status<span class="sy0">;</span><br />
&nbsp; <span class="kw4">char</span> name<span class="br0">&#91;</span>NICKLEN<span class="sy0">+</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; <span class="kw4">unsigned</span> <span class="kw4">long</span> <span class="kw4">int</span> score<span class="sy0">;</span><br />
&nbsp; <span class="kw4">char</span> inuse<span class="sy0">;</span><br />
<span class="br0">&#125;</span><span class="sy0">;</span><br />
<br />
<span class="coMULTI">/* main method */</span><br />
<span class="kw4">int</span> main<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; MYSQL mysql<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">char</span> query<span class="br0">&#91;</span><span class="nu0">500</span><span class="br0">&#93;</span><span class="sy0">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> teller<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> score<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">char</span> omzet<span class="br0">&#91;</span><span class="nu0">100</span><span class="br0">&#93;</span><span class="sy0">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">struct</span> winlist_t w<span class="br0">&#91;</span>MAXWINLIST<span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; FILE <span class="sy0">*</span>file_in<span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> i<span class="sy0">,</span>valid<span class="sy0">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* initialise mysql */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span>mysql_init<span class="br0">&#40;</span><span class="sy0">&amp;</span>mysql<span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a> <span class="br0">&#40;</span><span class="st0">&quot;failed initialising<span class="es1">\n</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="nu0">1</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* connect to mysql */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span>mysql_real_connect<span class="br0">&#40;</span><span class="sy0">&amp;</span>mysql<span class="sy0">,</span>HOST<span class="sy0">,</span>USER<span class="sy0">,</span>PASS<span class="sy0">,</span>DB<span class="sy0">,</span><span class="nu0">3306</span><span class="sy0">,</span><span class="kw2">NULL</span><span class="sy0">,</span><span class="kw2">NULL</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a> <span class="br0">&#40;</span><span class="st0">&quot;failed connecting: %s<span class="es1">\n</span>&quot;</span><span class="sy0">,</span>mysql_error<span class="br0">&#40;</span><span class="sy0">&amp;</span>mysql<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="nu0">2</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* clear previous entries */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; strcpy <span class="br0">&#40;</span>query<span class="sy0">,</span><span class="st0">&quot;DELETE FROM &quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; strcat <span class="br0">&#40;</span>query<span class="sy0">,</span>TABL<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; mysql_query<span class="br0">&#40;</span><span class="sy0">&amp;</span>mysql<span class="sy0">,</span>query<span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* open winlist file */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; file_in <span class="sy0">=</span> fopen<span class="br0">&#40;</span>FILE_WINLIST<span class="sy0">,</span><span class="st0">&quot;r&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>file_in <span class="sy0">==</span> <span class="kw2">NULL</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a> <span class="br0">&#40;</span><span class="st0">&quot;winlistfile does not exist<span class="es1">\n</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="nu0">4</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* read in entries from winlist */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span><span class="br0">&#40;</span>i<span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span>i<span class="sy0">&lt;</span>MAXWINLIST<span class="sy0">;</span>i<span class="sy0">++</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fread<span class="br0">&#40;</span><span class="sy0">&amp;</span>w<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="sy0">,</span> <span class="kw4">sizeof</span><span class="br0">&#40;</span><span class="kw4">struct</span> winlist_t<span class="br0">&#41;</span><span class="sy0">,</span> <span class="nu0">1</span><span class="sy0">,</span> file_in<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="br0">&#125;</span><br />
<br />
&nbsp; <span class="coMULTI">/* close winlist file */</span><br />
&nbsp; fclose<span class="br0">&#40;</span>file_in<span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
&nbsp; <span class="coMULTI">/* generate a query */</span><br />
&nbsp; i<span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span><br />
&nbsp; valid<span class="sy0">=</span><span class="nu0">1</span><span class="sy0">;</span><br />
&nbsp; <span class="kw1">while</span> <span class="br0">&#40;</span> <span class="br0">&#40;</span>i<span class="sy0">&lt;</span>MAXWINLIST<span class="br0">&#41;</span> <span class="sy0">&amp;&amp;</span> <span class="br0">&#40;</span>w<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">inuse</span><span class="br0">&#41;</span> <span class="sy0">&amp;&amp;</span> <span class="br0">&#40;</span>valid<span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; valid <span class="sy0">=</span> <span class="br0">&#40;</span>w<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">score</span> <span class="sy0">&gt;=</span> <span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; valid <span class="sy0">=</span> valid <span class="sy0">&amp;&amp;</span> <span class="br0">&#40;</span> <span class="br0">&#40;</span>w<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">status</span><span class="sy0">==</span><span class="st0">&#8216;p&#8217;</span><span class="br0">&#41;</span> <span class="sy0">||</span> <span class="br0">&#40;</span>w<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">status</span><span class="sy0">==</span><span class="st0">&#8216;t&#8217;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; valid <span class="sy0">=</span> valid <span class="sy0">&amp;&amp;</span> <span class="br0">&#40;</span>strlen<span class="br0">&#40;</span>w<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">name</span><span class="br0">&#41;</span> <span class="sy0">&lt;=</span> NICKLEN<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>valid<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; query<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st0">&#8216;<span class="es5"><div class="" style="font-family:monospace;">&nbsp;</div></span>&#8216;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; strcpy <span class="br0">&#40;</span>query<span class="sy0">,</span><span class="st0">&quot;INSERT INTO &quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; strcat <span class="br0">&#40;</span>query<span class="sy0">,</span>TABL<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; strcat <span class="br0">&#40;</span>query<span class="sy0">,</span><span class="st0">&quot;(name,type,points) VALUES (&#8216;&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; strncat <span class="br0">&#40;</span>query<span class="sy0">,</span>w<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">name</span><span class="sy0">,</span>NICKLEN<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; strcat <span class="br0">&#40;</span>query<span class="sy0">,</span><span class="st0">&quot;<span class="es1">\&#8217;</span>,<span class="es1">\&#8217;</span>&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; strncat <span class="br0">&#40;</span>query<span class="sy0">,&amp;</span>w<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">status</span><span class="sy0">,</span><span class="nu0">1</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; strcat <span class="br0">&#40;</span>query<span class="sy0">,</span><span class="st0">&quot;<span class="es1">\&#8217;</span>,&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* converteer score naar char array */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; score <span class="sy0">=</span> w<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">score</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; teller <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">while</span> <span class="br0">&#40;</span><span class="br0">&#40;</span>score <span class="sy0">/</span><span class="nu0">10</span><span class="br0">&#41;</span> <span class="sy0">!=</span> <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; teller<span class="sy0">++;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; score <span class="sy0">/=</span> <span class="nu0">10</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; omzet<span class="br0">&#91;</span>teller<span class="sy0">+</span><span class="nu0">1</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st0">&#8216;<span class="es5"><div class="" style="font-family:monospace;">&nbsp;</div></span>&#8216;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; score <span class="sy0">=</span> w<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">score</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">while</span> <span class="br0">&#40;</span>teller <span class="sy0">&gt;=</span> <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; omzet<span class="br0">&#91;</span>teller<span class="br0">&#93;</span> <span class="sy0">=</span> <span class="st0">&#8217;0&#8242;</span><span class="sy0">+</span><span class="br0">&#40;</span>score<span class="sy0">%</span><span class="nu19">10</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; score <span class="sy0">/=</span> <span class="nu0">10</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; teller<span class="sy0">&#8211;;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; strcat <span class="br0">&#40;</span>query<span class="sy0">,</span>omzet<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; strcat <span class="br0">&#40;</span>query<span class="sy0">,</span><span class="st0">&quot;)&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//printf (&quot;%d : %s \n&quot;,i,query);</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* perform the query */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mysql_query<span class="br0">&#40;</span><span class="sy0">&amp;</span>mysql<span class="sy0">,</span>query<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a> <span class="br0">&#40;</span><span class="st0">&quot;failure for entry %d <span class="es1">\n</span>&quot;</span><span class="sy0">,</span>i<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; i<span class="sy0">++;</span><br />
&nbsp; <span class="br0">&#125;</span><br />
&nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a> <span class="br0">&#40;</span><span class="st0">&quot;We processed %d entries <span class="es1">\n</span>&quot;</span><span class="sy0">,</span>i<span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* disconnect from mysql */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; mysql_close<span class="br0">&#40;</span><span class="sy0">&amp;</span>mysql<span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="nu0">0</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></div><p>Download the source for <a href="http://www.timvw.be/wp-content/code/c/winlist2database.txt">winlist2database.txt</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.timvw.be/write-a-tetrinet-winlist-to-a-mysql-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
