<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>struct</title>
		<link>http://www.allegro.cc/forums/view/590541</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Thu, 15 Mar 2007 03:32:53 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>mm, having a little problem here:</p><p>making an interface for &#39;a program&#39; and i am using dynamic values  to change the color of the text. for some reason i can use global values but not those stored in structures... this is the messege i get when compiling: &quot;expected primary-expression before &#39;.&#39; token&quot;.. </p><p>NOT WORKING CODE PIECE:<br />textprintf_ex(buffer, font, xpos+((width/2)-7),ypos+height-15, makecol(game.graphics._interface.textcol1, 255, 255), -1 , &quot;OK&quot;);</p><p>WORKING CODE PIECE:<br />textprintf_ex(buffer, font, xpos+((width/2)-7),ypos+height-15, makecol(muu(global), 255, 255), -1 , &quot;OK&quot;); used as a test...</p><p>Why god, why?!</p><p>(i have a feeling i&#39;m missing something very .. basic..)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Albin Engström)</author>
		<pubDate>Wed, 14 Mar 2007 15:21:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Post more information.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (miran)</author>
		<pubDate>Wed, 14 Mar 2007 15:27:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Are any of those structures or parts of the structure allocated dynamically? If yes then use &quot;-&gt;&quot; instead of &quot;.&quot;
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (HoHo)</author>
		<pubDate>Wed, 14 Mar 2007 15:33:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well, apart from the missing bracket<br />textprintf_ex(buffer, font, xpos+((width/2)-7),ypos+height-15, makecol(game.graphics._interface.textcol<b>(</b>1, 255, 255), -1 , &quot;OK&quot;);</p><p>What&#39;s <i>textcol</i>? A pointer to function?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Marco Radaelli)</author>
		<pubDate>Wed, 14 Mar 2007 15:40:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>@Marco: textcol1 is obviously the R component of the colour. So you&#39;re wrong. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (miran)</author>
		<pubDate>Wed, 14 Mar 2007 15:54:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>allocated dynamically???</p><p>the missing braclet wasn&#39;t there in the original code piece <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />..</p><p>more information... like?</p><p>makecol1: int makecol1;
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Albin Engström)</author>
		<pubDate>Wed, 14 Mar 2007 15:57:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>More information like how and where those structs are declared and how the actual objects are created.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (miran)</author>
		<pubDate>Wed, 14 Mar 2007 16:10:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>ouch.. this is going to be painful..</p><p>i declare my structures like this:</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">struct</span> game
<span class="k2">{</span>
  <span class="k1">struct</span> graphics
  <span class="k2">{</span>
    <span class="k1">struct</span> _interface
    <span class="k2">{</span>
    <span class="k1">int</span> textcol1<span class="k2">;</span>
    ...

    <span class="k2">}</span>_interface<span class="k2">;</span>
  <span class="k2">}</span>graphics<span class="k2">;</span>
<span class="k2">}</span>game<span class="k2">;</span>
</pre></div></div><p>

- - he?<br />&quot;how the objects where created&quot;???
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Albin Engström)</author>
		<pubDate>Wed, 14 Mar 2007 16:39:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>And which language is this in? C or C++? Is this code in a header?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (miran)</author>
		<pubDate>Wed, 14 Mar 2007 16:48:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>C++ - Not a header. (i put everything into the same file..) - -
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Albin Engström)</author>
		<pubDate>Wed, 14 Mar 2007 16:53:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The following code compiles without problems when I put it in a file called test.cpp:</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="k1">struct</span> game</td></tr><tr><td class="number">2</td><td><span class="k2">{</span></td></tr><tr><td class="number">3</td><td>  <span class="k1">struct</span> graphics</td></tr><tr><td class="number">4</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">5</td><td>    <span class="k1">struct</span> _interface</td></tr><tr><td class="number">6</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">7</td><td>    <span class="k1">int</span> textcol1<span class="k2">;</span></td></tr><tr><td class="number">8</td><td>    <span class="k2">}</span>_interface<span class="k2">;</span></td></tr><tr><td class="number">9</td><td>  <span class="k2">}</span>graphics<span class="k2">;</span></td></tr><tr><td class="number">10</td><td><span class="k2">}</span>game<span class="k2">;</span></td></tr><tr><td class="number">11</td><td>&#160;</td></tr><tr><td class="number">12</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">13</td><td>  game.graphics._interface.textcol1 <span class="k3">=</span> <span class="n">123</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

Can you write a similar example that doesn&#39;t compile?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (miran)</author>
		<pubDate>Wed, 14 Mar 2007 16:57:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>In your code, game, graphics and _interface are structures, not instances. So you can&#39;t write &quot;game.graphics._interface.textcol1&quot;. </p><p>What you CAN do is: have an instance of type game::graphics::_interface, say ifc, then use ifc.textcol1. Code: 
</p><div class="source-code snippet"><div class="inner"><pre>game::graphics::_interface ifc<span class="k2">;</span>
ifc.textcol1 <span class="k3">=</span> <span class="n">45</span><span class="k2">;</span>
</pre></div></div><p>

Edit: Oops, I didn&#39;t see the names following the struct definitions. So that means then that the structure names are also at the same time names for the corresponding members. Urgs. I&#39;m not used to code like this...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tobing)</author>
		<pubDate>Wed, 14 Mar 2007 16:58:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The following code.. works.
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;iostream&gt;</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span></td></tr><tr><td class="number">4</td><td>&#160;</td></tr><tr><td class="number">5</td><td><span class="k1">struct</span> game</td></tr><tr><td class="number">6</td><td><span class="k2">{</span></td></tr><tr><td class="number">7</td><td>  <span class="k1">struct</span> graphics</td></tr><tr><td class="number">8</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">9</td><td>    <span class="k1">struct</span> _interface</td></tr><tr><td class="number">10</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">11</td><td>    <span class="k1">int</span> textcol1<span class="k2">;</span></td></tr><tr><td class="number">12</td><td>    <span class="k2">}</span>_interface<span class="k2">;</span></td></tr><tr><td class="number">13</td><td>  <span class="k2">}</span>graphics<span class="k2">;</span></td></tr><tr><td class="number">14</td><td><span class="k2">}</span>game<span class="k2">;</span></td></tr><tr><td class="number">15</td><td>&#160;</td></tr><tr><td class="number">16</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">17</td><td><span class="k2">{</span></td></tr><tr><td class="number">18</td><td>    cout <span class="k3">&lt;</span><span class="k3">&lt;</span> game.graphics._interface.textcol1<span class="k2">;</span></td></tr><tr><td class="number">19</td><td>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a><span class="k2">(</span><span class="s">"PAUSE"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

did some more research and turns out that i have no trouble doing this:<br />using &quot;game.graphics._interface.textcol1&quot; in a function outside a structure and.. (i don&#39;t know the name for it.. declared? no.. the code stuff..) anyway using it inside a function in a structure gets me that code error... that&#39;s the difference.. :S.</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;iostream&gt;</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span></td></tr><tr><td class="number">4</td><td>&#160;</td></tr><tr><td class="number">5</td><td><span class="k1">struct</span> game</td></tr><tr><td class="number">6</td><td><span class="k2">{</span></td></tr><tr><td class="number">7</td><td>  <span class="k1">struct</span> graphics</td></tr><tr><td class="number">8</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">9</td><td>    <span class="k1">struct</span> _interface</td></tr><tr><td class="number">10</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">11</td><td>    <span class="k1">int</span> textcol1<span class="k2">;</span></td></tr><tr><td class="number">12</td><td>    <span class="k2">}</span>_interface<span class="k2">;</span></td></tr><tr><td class="number">13</td><td>  <span class="k2">}</span>graphics<span class="k2">;</span></td></tr><tr><td class="number">14</td><td>&#160;</td></tr><tr><td class="number">15</td><td>  <span class="k1">struct</span> blabla</td></tr><tr><td class="number">16</td><td>  <span class="k2">{</span> </td></tr><tr><td class="number">17</td><td>    <span class="k1">void</span> function<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">18</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">19</td><td>    <a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">(</span>USING GAME.GRAPHICS._INTERFACE.TEXTCOL1<span class="k3">!</span><span class="k3">!</span><span class="k3">!</span><span class="k2">)</span></td></tr><tr><td class="number">20</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">21</td><td>  <span class="k2">}</span>blabla<span class="k2">;</span></td></tr><tr><td class="number">22</td><td><span class="k2">}</span>game<span class="k2">;</span></td></tr><tr><td class="number">23</td><td>&#160;</td></tr><tr><td class="number">24</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">25</td><td><span class="k2">{</span></td></tr><tr><td class="number">26</td><td>    game.blabla.function<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">27</td><td>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a><span class="k2">(</span><span class="s">"PAUSE"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">28</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

This Code Should not work.. (i didn&#39;t compile it due to this incredible crappy computer here in school (and the others).. takes abuot 4min compiling this <span class="cuss"><span><span class="cuss"><span>shit</span></span></span></span> - -).</p><p>&quot;not used to this kind of code...&quot; it means it sucks right ^^&#39;? i really need to polish(eer?) my coding..
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Albin Engström)</author>
		<pubDate>Wed, 14 Mar 2007 17:34:19 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Wel duh! Of course it doesn&#39;t compile. You can&#39;t use an object before it is created.</p><p>As a sidenote, it would probably not a bad idea for you to read a book about programming in C++...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (miran)</author>
		<pubDate>Wed, 14 Mar 2007 17:38:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well, perhaps using <span class="source-code"><span class="k1">this</span></span> ...<br />Hmm ha, heh, you should really follow Miran advice.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (GullRaDriel)</author>
		<pubDate>Wed, 14 Mar 2007 17:39:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No, he wants to use the global object named game that is of type game. Which leads me to beleive he doesn&#39;t even know what he&#39;s doing...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (miran)</author>
		<pubDate>Wed, 14 Mar 2007 17:40:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>&gt;&lt;... thanks guys <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />.. i don&#39;t have a book.. and i don&#39;t know where to get one that isn&#39;t out of date - -.. using this site: &quot;functionx.com&quot; very good.. i think.. i don&#39;t read it as much as i need thought..</p><p>been using structures like this for a long time without problems.. kinda felt like i used them the wrong way..</p><p>apparently... i don&#39;t know what i&#39;m doing.. could you tell me how structures should be used then? or direct me to a link so that i wont waste your precious time <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Albin Engström)</author>
		<pubDate>Wed, 14 Mar 2007 17:43:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well, all done ! Albin can now correct his problem. </p><p>EDIT: The C way I am using. Can help. Do not take care of what the function do but on how struct is used (and how you access the new created type)</p><p>n_strlist.h
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="k1">typedef</span> <span class="k1">struct</span> N_STR</td></tr><tr><td class="number">2</td><td>        <span class="k2">{</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td>        <span class="c">/*! the string */</span></td></tr><tr><td class="number">5</td><td>        <span class="k1">char</span> <span class="k3">*</span>data<span class="k2">;</span></td></tr><tr><td class="number">6</td><td>&#160;</td></tr><tr><td class="number">7</td><td>        <span class="c">/*! lenght of string (in case we wanna keep information after the 0 end of string value) */</span></td></tr><tr><td class="number">8</td><td>        <span class="k1">int</span> length<span class="k2">;</span></td></tr><tr><td class="number">9</td><td>&#160;</td></tr><tr><td class="number">10</td><td>        <span class="c">/*! pointer to the next item of the list */</span></td></tr><tr><td class="number">11</td><td>&#160;</td></tr><tr><td class="number">12</td><td>        <span class="k1">struct</span> N_STR <span class="k3">*</span>next<span class="k2">;</span></td></tr><tr><td class="number">13</td><td>        <span class="c">/*! pointer to the previous item of the list */</span></td></tr><tr><td class="number">14</td><td>&#160;</td></tr><tr><td class="number">15</td><td>        <span class="k1">struct</span> N_STR <span class="k3">*</span>prev<span class="k2">;</span></td></tr><tr><td class="number">16</td><td>&#160;</td></tr><tr><td class="number">17</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">18</td><td>&#160;</td></tr><tr><td class="number">19</td><td>N_STR<span class="k2">;</span></td></tr><tr><td class="number">20</td><td>&#160;</td></tr><tr><td class="number">21</td><td>&#160;</td></tr><tr><td class="number">22</td><td>&#160;</td></tr><tr><td class="number">23</td><td><span class="c">/*!</span></td></tr><tr><td class="number">24</td><td><span class="c"> * A doubly linked list prototype of N_STR item</span></td></tr><tr><td class="number">25</td><td><span class="c"> */</span></td></tr><tr><td class="number">26</td><td>&#160;</td></tr><tr><td class="number">27</td><td><span class="k1">typedef</span> <span class="k1">struct</span> N_STRLIST</td></tr><tr><td class="number">28</td><td>        <span class="k2">{</span></td></tr><tr><td class="number">29</td><td>&#160;</td></tr><tr><td class="number">30</td><td>        N_STR  <span class="c">/*!start of list*/</span></td></tr><tr><td class="number">31</td><td>        <span class="k3">*</span>start,</td></tr><tr><td class="number">32</td><td>        <span class="c">/*!end of list*/</span></td></tr><tr><td class="number">33</td><td>        <span class="k3">*</span>end<span class="k2">;</span></td></tr><tr><td class="number">34</td><td>&#160;</td></tr><tr><td class="number">35</td><td>        <span class="k1">int</span>   <span class="c">/*!number of item*/</span></td></tr><tr><td class="number">36</td><td>        nb_item,</td></tr><tr><td class="number">37</td><td>        <span class="c">/*!maximum of item in the list, -1 for undeterminated*/</span></td></tr><tr><td class="number">38</td><td>        nb_max_item<span class="k2">;</span></td></tr><tr><td class="number">39</td><td>&#160;</td></tr><tr><td class="number">40</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">41</td><td>&#160;</td></tr><tr><td class="number">42</td><td>N_STRLIST<span class="k2">;</span></td></tr></tbody></table></div></div><p>
n_strlist.c
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include "n_strlist.h"</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td>&#160;</td></tr><tr><td class="number">5</td><td><span class="c">/*!\fn int init_list( N_STRLIST **LIST , int max )</span></td></tr><tr><td class="number">6</td><td><span class="c"> *</span></td></tr><tr><td class="number">7</td><td><span class="c"> *\brief Always apply this function to any N_STRLIST *object before first use</span></td></tr><tr><td class="number">8</td><td><span class="c"> *</span></td></tr><tr><td class="number">9</td><td><span class="c"> *\param LIST an N_STRLIST object</span></td></tr><tr><td class="number">10</td><td><span class="c"> *\param max  an integer to assign 'max' item limitation to N_STRLIST **LIST, -1 for undeterminated</span></td></tr><tr><td class="number">11</td><td><span class="c"> *</span></td></tr><tr><td class="number">12</td><td><span class="c"> *\return TRUE on success, FALSE on failure (generaly due to memory lake, report is written to stderr)</span></td></tr><tr><td class="number">13</td><td><span class="c"> */</span></td></tr><tr><td class="number">14</td><td>&#160;</td></tr><tr><td class="number">15</td><td><span class="k1">int</span> init_list<span class="k2">(</span> N_STRLIST <span class="k3">*</span><span class="k3">*</span>LIST , <span class="k1">int</span> max <span class="k2">)</span></td></tr><tr><td class="number">16</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">17</td><td>&#160;</td></tr><tr><td class="number">18</td><td>    <span class="c">/*point to nothing*/</span></td></tr><tr><td class="number">19</td><td>    <span class="k3">*</span>LIST <span class="k3">=</span> NULL<span class="k2">;</span></td></tr><tr><td class="number">20</td><td>&#160;</td></tr><tr><td class="number">21</td><td>    <span class="c">/* allocating memory, returning FALSE  if impossible*/</span></td></tr><tr><td class="number">22</td><td>    Malloc<span class="k2">(</span> <span class="k3">*</span>LIST , N_STRLIST , <span class="n">1</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>&#160;</td></tr><tr><td class="number">24</td><td>    <span class="k1">if</span> <span class="k2">(</span> <span class="k3">!</span><span class="k2">(</span> <span class="k3">*</span>LIST <span class="k2">)</span> <span class="k2">)</span></td></tr><tr><td class="number">25</td><td>        <span class="k1">return</span> FALSE<span class="k2">;</span></td></tr><tr><td class="number">26</td><td>&#160;</td></tr><tr><td class="number">27</td><td>&#160;</td></tr><tr><td class="number">28</td><td>    <span class="c">/* initilize list elements*/</span></td></tr><tr><td class="number">29</td><td>&#160;</td></tr><tr><td class="number">30</td><td>    <span class="c">/*there is no item in the list*/</span></td></tr><tr><td class="number">31</td><td>    <span class="k2">(</span> <span class="k3">*</span>LIST <span class="k2">)</span> <span class="k3">-</span><span class="k3">&gt;</span> nb_item <span class="k3">=</span> <span class="n">0</span> <span class="k2">;</span></td></tr><tr><td class="number">32</td><td>&#160;</td></tr><tr><td class="number">33</td><td>    <span class="c">/* we want 'max' element in our list*/</span></td></tr><tr><td class="number">34</td><td>    <span class="k2">(</span> <span class="k3">*</span>LIST <span class="k2">)</span> <span class="k3">-</span><span class="k3">&gt;</span> nb_max_item <span class="k3">=</span> max<span class="k2">;</span></td></tr><tr><td class="number">35</td><td>&#160;</td></tr><tr><td class="number">36</td><td>    <span class="c">/* after allocation, we already have no item so we point nowhere*/</span></td></tr><tr><td class="number">37</td><td>    <span class="k2">(</span> <span class="k3">*</span>LIST <span class="k2">)</span> <span class="k3">-</span><span class="k3">&gt;</span> start <span class="k3">=</span> <span class="k2">(</span> <span class="k3">*</span>LIST <span class="k2">)</span> <span class="k3">-</span><span class="k3">&gt;</span> end <span class="k3">=</span> NULL<span class="k2">;</span></td></tr><tr><td class="number">38</td><td>&#160;</td></tr><tr><td class="number">39</td><td>    <span class="c">/*returning success of allocation*/</span></td></tr><tr><td class="number">40</td><td>    <span class="k1">return</span> TRUE<span class="k2">;</span></td></tr><tr><td class="number">41</td><td>&#160;</td></tr><tr><td class="number">42</td><td>    <span class="k2">}</span> <span class="c">/*init_list(...)*/</span></td></tr><tr><td class="number">43</td><td>&#160;</td></tr><tr><td class="number">44</td><td>&#160;</td></tr><tr><td class="number">45</td><td>&#160;</td></tr><tr><td class="number">46</td><td><span class="c">/*!\fn int add_first( N_STRLIST *LIST , char *item , int length )</span></td></tr><tr><td class="number">47</td><td><span class="c">  *</span></td></tr><tr><td class="number">48</td><td><span class="c">  *\brief use this to add a string item at the begin of your N_STRLIST *list</span></td></tr><tr><td class="number">49</td><td><span class="c">  *</span></td></tr><tr><td class="number">50</td><td><span class="c">  *\param LIST an N_STRLIST *object</span></td></tr><tr><td class="number">51</td><td><span class="c">  *\param item a char *string</span></td></tr><tr><td class="number">52</td><td><span class="c">  *\param length an int to specify the real length we wanna use for this string</span></td></tr><tr><td class="number">53</td><td><span class="c">  *</span></td></tr><tr><td class="number">54</td><td><span class="c">  *\return TRUE on success, FALSE on failure (generaly due to memory lake)</span></td></tr><tr><td class="number">55</td><td><span class="c">  */</span></td></tr><tr><td class="number">56</td><td>&#160;</td></tr><tr><td class="number">57</td><td><span class="k1">int</span> add_first<span class="k2">(</span> N_STRLIST <span class="k3">*</span>LIST , <span class="k1">char</span> <span class="k3">*</span>item , <span class="k1">int</span> length <span class="k2">)</span></td></tr><tr><td class="number">58</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">59</td><td>&#160;</td></tr><tr><td class="number">60</td><td>    N_STR <span class="k3">*</span> newstr<span class="k2">;</span></td></tr><tr><td class="number">61</td><td>&#160;</td></tr><tr><td class="number">62</td><td>    <span class="k1">if</span> <span class="k2">(</span> LIST <span class="k3">!</span><span class="k3">=</span> NULL <span class="k2">)</span>    <span class="c">/*it's an active list*/</span></td></tr><tr><td class="number">63</td><td>            <span class="k2">{</span></td></tr><tr><td class="number">64</td><td>&#160;</td></tr><tr><td class="number">65</td><td>            <span class="c">/*checking if full or undeterminated*/</span></td></tr><tr><td class="number">66</td><td>&#160;</td></tr><tr><td class="number">67</td><td>            <span class="k1">if</span> <span class="k2">(</span> LIST-&gt; nb_max_item <span class="k3">!</span><span class="k3">=</span> <span class="k3">-</span><span class="n">1</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span> LIST <span class="k3">-</span><span class="k3">&gt;</span> nb_item <span class="k3">+</span> <span class="n">1</span> <span class="k3">&gt;</span><span class="k3">=</span> LIST <span class="k3">-</span><span class="k3">&gt;</span> nb_max_item <span class="k2">)</span> <span class="k2">)</span></td></tr><tr><td class="number">68</td><td>                <span class="k1">return</span> FALSE<span class="k2">;</span></td></tr><tr><td class="number">69</td><td>&#160;</td></tr><tr><td class="number">70</td><td>            <span class="k1">if</span> <span class="k2">(</span> LIST <span class="k3">-</span><span class="k3">&gt;</span> nb_item <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k2">)</span>    <span class="c">/*it's an empty list we add the root*/</span></td></tr><tr><td class="number">71</td><td>                    <span class="k2">{</span></td></tr><tr><td class="number">72</td><td>&#160;</td></tr><tr><td class="number">73</td><td>                    Malloc <span class="k2">(</span> LIST-&gt;start, N_STR , <span class="n">1</span> <span class="k2">)</span><span class="k2">;</span>                     <span class="c">/*memory allocation*/</span></td></tr><tr><td class="number">74</td><td>&#160;</td></tr><tr><td class="number">75</td><td>                    LIST <span class="k3">-</span><span class="k3">&gt;</span> start <span class="k3">-</span><span class="k3">&gt;</span> next <span class="k3">=</span> LIST <span class="k3">-</span><span class="k3">&gt;</span> start <span class="k3">-</span><span class="k3">&gt;</span> prev <span class="k3">=</span> NULL<span class="k2">;</span> <span class="c">/*initialize LIST*/</span></td></tr><tr><td class="number">76</td><td>&#160;</td></tr><tr><td class="number">77</td><td>                    Malloc <span class="k2">(</span> LIST <span class="k3">-</span><span class="k3">&gt;</span> start <span class="k3">-</span><span class="k3">&gt;</span> data, <span class="k1">char</span> , length <span class="k2">)</span><span class="k2">;</span> <span class="c">/*allocating data array*/</span></td></tr><tr><td class="number">78</td><td>                    Strcpy<span class="k2">(</span> item , LIST <span class="k3">-</span><span class="k3">&gt;</span> start <span class="k3">-</span><span class="k3">&gt;</span> data , length <span class="k2">)</span><span class="k2">;</span> <span class="c">/*filling data array*/</span></td></tr><tr><td class="number">79</td><td>&#160;</td></tr><tr><td class="number">80</td><td>                    LIST <span class="k3">-</span><span class="k3">&gt;</span> start <span class="k3">-</span><span class="k3">&gt;</span> length <span class="k3">=</span> length <span class="k2">;</span> <span class="c">/*saving the length of our string*/</span></td></tr><tr><td class="number">81</td><td>                    LIST <span class="k3">-</span><span class="k3">&gt;</span> end <span class="k3">=</span> LIST <span class="k3">-</span><span class="k3">&gt;</span> start<span class="k2">;</span>      <span class="c">/*first node is OK now*/</span></td></tr><tr><td class="number">82</td><td>&#160;</td></tr><tr><td class="number">83</td><td>                    <span class="k2">}</span></td></tr><tr><td class="number">84</td><td>            <span class="k1">else</span></td></tr><tr><td class="number">85</td><td>                    <span class="k2">{</span></td></tr><tr><td class="number">86</td><td>                    <span class="c">/*create new node*/</span></td></tr><tr><td class="number">87</td><td>                    Malloc<span class="k2">(</span> newstr , N_STR , <span class="n">1</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">88</td><td>                    Malloc<span class="k2">(</span> newstr <span class="k3">-</span><span class="k3">&gt;</span> data , <span class="k1">char</span> , length <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">89</td><td>                    <span class="c">/*modify the next*/</span></td></tr><tr><td class="number">90</td><td>                    newstr <span class="k3">-</span><span class="k3">&gt;</span> next <span class="k3">=</span> LIST <span class="k3">-</span><span class="k3">&gt;</span> start<span class="k2">;</span></td></tr><tr><td class="number">91</td><td>                    <span class="c">/*copying the string*/</span></td></tr><tr><td class="number">92</td><td>                    Strcpy<span class="k2">(</span> item , newstr-&gt;data , length <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">93</td><td>                    newstr-&gt;length<span class="k3">=</span>length<span class="k2">;</span></td></tr><tr><td class="number">94</td><td>                    <span class="c">/*modify the new next node*/</span></td></tr><tr><td class="number">95</td><td>                    LIST <span class="k3">-</span><span class="k3">&gt;</span> start <span class="k3">-</span><span class="k3">&gt;</span> prev <span class="k3">=</span> newstr<span class="k2">;</span></td></tr><tr><td class="number">96</td><td>                    <span class="c">/*moving to the new start position*/</span></td></tr><tr><td class="number">97</td><td>                    LIST <span class="k3">-</span><span class="k3">&gt;</span> start <span class="k3">=</span> newstr<span class="k2">;</span></td></tr><tr><td class="number">98</td><td>                    <span class="k2">}</span></td></tr><tr><td class="number">99</td><td>&#160;</td></tr><tr><td class="number">100</td><td>            <span class="k2">}</span></td></tr><tr><td class="number">101</td><td>    <span class="k1">else</span></td></tr><tr><td class="number">102</td><td>        <span class="k1">return</span> FALSE<span class="k2">;</span>                       <span class="c">/*that was not an initialized list*/</span></td></tr><tr><td class="number">103</td><td>&#160;</td></tr><tr><td class="number">104</td><td>&#160;</td></tr><tr><td class="number">105</td><td>    LIST <span class="k3">-</span><span class="k3">&gt;</span> nb_item <span class="k3">=</span> LIST <span class="k3">-</span><span class="k3">&gt;</span> nb_item <span class="k3">+</span> <span class="n">1</span><span class="k2">;</span> <span class="c">/*here we have a new element in*/</span></td></tr><tr><td class="number">106</td><td>&#160;</td></tr><tr><td class="number">107</td><td>    <span class="k1">return</span> TRUE<span class="k2">;</span>                            <span class="c">/*successful*/</span></td></tr><tr><td class="number">108</td><td>&#160;</td></tr><tr><td class="number">109</td><td>    <span class="k2">}</span> <span class="c">/*add_first(...)*/</span></td></tr></tbody></table></div></div><p>

But I think you want C++ and I am bored to do more than a simple copy paste from already written code. </p><p><img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (GullRaDriel)</author>
		<pubDate>Wed, 14 Mar 2007 17:48:14 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
or direct me to a link so that i wont waste your precious time
</p></div></div><p>
<a href="http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html">http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html</a></p><p>There should also be a book on plain C there somewhere. Structs are probably explained in it, while the one on C++ only focuses on classes (although the difference between a class and a struct is very small).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (miran)</author>
		<pubDate>Wed, 14 Mar 2007 17:52:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Albin said:</div><div class="quote"><p>

i wont waste your precious time
</p></div></div><p>

Not really, it is 150$/Hour for  each, Miran and I. Every started hour is fully accounted.</p><p>VISA,CB,MASTERCARD,Travelers check accepted.</p><p><img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (GullRaDriel)</author>
		<pubDate>Wed, 14 Mar 2007 17:57:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well then I owe you guys, like, $5,000 each.<br /><img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Neil Black)</author>
		<pubDate>Wed, 14 Mar 2007 18:00:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>^^&#39;
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Albin Engström)</author>
		<pubDate>Wed, 14 Mar 2007 22:47:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
@Marco: textcol1 is obviously the R component of the colour. So you&#39;re wrong. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div></div><p>
Yeah, sorry <img src="http://www.allegro.cc/forums/smileys/undecided.gif" alt=":-/" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Marco Radaelli)</author>
		<pubDate>Thu, 15 Mar 2007 03:32:53 +0000</pubDate>
	</item>
</rss>
