<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Differences betwen al_ustr_new and al_ustr_new()</title>
		<link>http://www.allegro.cc/forums/view/608449</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Mon, 26 Sep 2011 14:29:11 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi there!.</p><p>Who is kind enough to give me an explanation about the differences between <span class="source-code"><a href="http://www.allegro.cc/manual/al_ustr_new_from_buffer"><span class="a">al_ustr_new_from_buffer</span></a><span class="k2">(</span><span class="k2">)</span></span> and <span class="source-code"><a href="http://www.allegro.cc/manual/al_ustr_new"><span class="a">al_ustr_new</span></a><span class="k2">(</span><span class="k2">)</span></span>. Obviously a technical explanation, since have just save me a lot of trouble, I was getting a lot of garbage from one of my <span class="source-code"><span class="k1">char</span></span> pointers when reading from file an using the <span class="source-code"><a href="http://www.allegro.cc/manual/al_ustr_new_from_buffer"><span class="a">al_ustr_new_from_buffer</span></a><span class="k2">(</span><span class="k2">)</span></span> function the problem have just disappeared... It&#39;s like eliminates the garbage automatically. But that garbage seems to be created by the <span class="source-code"><a href="http://www.allegro.cc/manual/al_fread"><span class="a">al_fread</span></a></span> function. <img src="http://www.allegro.cc/forums/smileys/undecided.gif" alt=":-/" /></p><p>Thanks.</p><p>PS: I know I could search in the source, but I doubt I could understand something...</p><p><b>DAMN!! THE TITTLE! <span class="cuss"><span>fuck</span></span>!</b>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (AMCerasoli)</author>
		<pubDate>Mon, 26 Sep 2011 05:00:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><span class="source-code"><a href="http://www.allegro.cc/manual/al_ustr_new"><span class="a">al_ustr_new</span></a><span class="k2">(</span>s<span class="k2">)</span></span> is the same thing as <span class="source-code"><a href="http://www.allegro.cc/manual/al_ustr_new_from_buffer"><span class="a">al_ustr_new_from_buffer</span></a><span class="k2">(</span>s, <a href="http://www.delorie.com/djgpp/doc/libc/libc_764.html" target="_blank">strlen</a><span class="k2">(</span>s<span class="k2">)</span><span class="k2">)</span></span>.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Mon, 26 Sep 2011 05:15:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well... On my system they don&#39;t return the same result.</p><p><span class="source-code"><a href="http://www.allegro.cc/manual/al_ustr_new"><span class="a">al_ustr_new</span></a><span class="k2">(</span><span class="k2">)</span></span> gives me a lot of garbage and <span class="source-code"><a href="http://www.allegro.cc/manual/al_ustr_new_from_buffer"><span class="a">al_ustr_new_from_buffer</span></a><span class="k2">(</span><span class="k2">)</span></span> works fine, this is the smaller example I could come up with. Probable I&#39;m doing something wrong.</p><p>Check out the console, not the allegro window.</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span><span class="p">#include &lt;iostream&gt;</span>
<span class="number">   2</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">   5</span>
<span class="number">   6</span><span class="k1">class</span> OPC_DATA<span class="k2">{</span>
<span class="number">   7</span>
<span class="number">   8</span>  public:
<span class="number">   9</span>
<span class="number">  10</span>     <span class="k1">bool</span> modalidad_normal<span class="k2">;</span>
<span class="number">  11</span>     <span class="k1">bool</span> catg0, catg1, catg2, catg3, catg4<span class="k2">;</span>
<span class="number">  12</span>     <a href="http://www.allegro.cc/manual/ALLEGRO_USTR"><span class="a">ALLEGRO_USTR</span></a><span class="k3">*</span> URL_page<span class="k2">;</span>
<span class="number">  13</span>     <span class="k1">float</span> sfx, music<span class="k2">;</span>
<span class="number">  14</span>     <span class="k1">bool</span> fullscreen<span class="k2">;</span>
<span class="number">  15</span>     <span class="k1">int</span> len<span class="k2">;</span>
<span class="number">  16</span>
<span class="number">  17</span>
<span class="number">  18</span>     OPC_DATA<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  19</span>
<span class="number">  20</span>        <a href="http://www.allegro.cc/manual/ALLEGRO_FILE"><span class="a">ALLEGRO_FILE</span></a><span class="k3">*</span> file <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_fopen"><span class="a">al_fopen</span></a><span class="k2">(</span><span class="s">"datos.dat"</span>, <span class="s">"rb"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  21</span>
<span class="number">  22</span>        <span class="k1">if</span><span class="k2">(</span>file<span class="k2">)</span><span class="k2">{</span> <span class="c">///Si el archivo existe...</span>
<span class="number">  23</span>
<span class="number">  24</span>           modalidad_normal <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_fread32be"><span class="a">al_fread32be</span></a><span class="k2">(</span>file<span class="k2">)</span><span class="k2">;</span>
<span class="number">  25</span>           catg0            <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_fread32be"><span class="a">al_fread32be</span></a><span class="k2">(</span>file<span class="k2">)</span><span class="k2">;</span>
<span class="number">  26</span>           catg1            <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_fread32be"><span class="a">al_fread32be</span></a><span class="k2">(</span>file<span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>           catg2            <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_fread32be"><span class="a">al_fread32be</span></a><span class="k2">(</span>file<span class="k2">)</span><span class="k2">;</span>
<span class="number">  28</span>           catg3            <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_fread32be"><span class="a">al_fread32be</span></a><span class="k2">(</span>file<span class="k2">)</span><span class="k2">;</span>
<span class="number">  29</span>           catg4            <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_fread32be"><span class="a">al_fread32be</span></a><span class="k2">(</span>file<span class="k2">)</span><span class="k2">;</span>
<span class="number">  30</span>           len              <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_fread32be"><span class="a">al_fread32be</span></a><span class="k2">(</span>file<span class="k2">)</span><span class="k2">;</span>
<span class="number">  31</span>
<span class="number">  32</span>           std::cout<span class="k3">&lt;</span><span class="k3">&lt;</span><span class="s">"len: "</span><span class="k3">&lt;</span><span class="k3">&lt;</span>len<span class="k3">&lt;</span><span class="k3">&lt;</span>std::endl<span class="k2">;</span>
<span class="number">  33</span>           <span class="k1">if</span><span class="k2">(</span>len<span class="k3">=</span><span class="k3">=</span><span class="n">5</span><span class="k2">)</span>Beep<span class="k2">(</span><span class="n">600</span>,<span class="n">20</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  34</span>
<span class="number">  35</span>           <span class="k1">char</span> <span class="k3">*</span>buf <span class="k3">=</span> <span class="k1">new</span> <span class="k1">char</span> <span class="k2">[</span>len<span class="k2">]</span><span class="k2">;</span>
<span class="number">  36</span>           <a href="http://www.allegro.cc/manual/al_fread"><span class="a">al_fread</span></a><span class="k2">(</span>file, buf, len<span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span>
<span class="number">  38</span>           <span class="k1">if</span><span class="k2">(</span>len<span class="k3">=</span><span class="k3">=</span><span class="n">0</span><span class="k2">)</span> <span class="c">// This is because if the len==0 the URL_page variable is filled with garbage</span>
<span class="number">  39</span>              URL_page <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_ustr_new"><span class="a">al_ustr_new</span></a><span class="k2">(</span><span class="s">""</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  40</span>           <span class="k1">else</span>
<span class="number">  41</span>              <span class="c">///Here!! &lt;&lt;&lt;---- Change the functions a see the difference.</span>
<span class="number">  42</span>              <span class="c">///               remember to delete the datos.dat file after changing the function</span>
<span class="number">  43</span>              <span class="c">//URL_page = al_ustr_new(buf); //This is bad</span>
<span class="number">  44</span>              URL_page <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_ustr_new_from_buffer"><span class="a">al_ustr_new_from_buffer</span></a><span class="k2">(</span>buf, len<span class="k2">)</span><span class="k2">;</span>  <span class="c">// This is good</span>
<span class="number">  45</span>
<span class="number">  46</span>           <span class="k1">delete</span> <span class="k2">[</span><span class="k2">]</span> buf<span class="k2">;</span>
<span class="number">  47</span>
<span class="number">  48</span>           <span class="k1">int</span> T_sfx        <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_fread32be"><span class="a">al_fread32be</span></a><span class="k2">(</span>file<span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</span>           sfx   <span class="k3">=</span> <span class="k3">*</span><span class="k1">reinterpret_cast</span><span class="k3">&lt;</span><span class="k1">float</span><span class="k3">*</span><span class="k3">&gt;</span><span class="k2">(</span><span class="k3">&amp;</span>T_sfx<span class="k2">)</span><span class="k2">;</span>
<span class="number">  50</span>
<span class="number">  51</span>           <span class="k1">int</span> T_music      <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_fread32be"><span class="a">al_fread32be</span></a><span class="k2">(</span>file<span class="k2">)</span><span class="k2">;</span>
<span class="number">  52</span>           music <span class="k3">=</span> <span class="k3">*</span><span class="k1">reinterpret_cast</span><span class="k3">&lt;</span><span class="k1">float</span><span class="k3">*</span><span class="k3">&gt;</span><span class="k2">(</span><span class="k3">&amp;</span>T_music<span class="k2">)</span><span class="k2">;</span>
<span class="number">  53</span>
<span class="number">  54</span>           fullscreen       <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_fread32be"><span class="a">al_fread32be</span></a><span class="k2">(</span>file<span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>
<span class="number">  56</span>           <a href="http://www.allegro.cc/manual/al_fclose"><span class="a">al_fclose</span></a><span class="k2">(</span>file<span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</span>           <span class="c">//Beep(800,200);</span>
<span class="number">  58</span>
<span class="number">  59</span>        <span class="k2">}</span><span class="k1">else</span><span class="k2">{</span> <span class="c">/// Si el archivo NO existe...</span>
<span class="number">  60</span>
<span class="number">  61</span>           modalidad_normal <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  62</span>           catg0            <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  63</span>           catg1            <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  64</span>           catg2            <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  65</span>           catg3            <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  66</span>           catg4            <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  67</span>           URL_page <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_ustr_new"><span class="a">al_ustr_new</span></a><span class="k2">(</span><span class="s">""</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  68</span>           sfx              <span class="k3">=</span> <span class="n">1</span>.<span class="n">6</span><span class="k2">;</span>
<span class="number">  69</span>           music            <span class="k3">=</span> <span class="n">1</span>.<span class="n">5</span><span class="k2">;</span>
<span class="number">  70</span>           fullscreen       <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  71</span>
<span class="number">  72</span>           <a href="http://www.allegro.cc/manual/al_fclose"><span class="a">al_fclose</span></a><span class="k2">(</span>file<span class="k2">)</span><span class="k2">;</span>
<span class="number">  73</span>        <span class="k2">}</span>
<span class="number">  74</span>
<span class="number">  75</span>     <span class="k2">}</span>
<span class="number">  76</span>
<span class="number">  77</span>     ~OPC_DATA<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  78</span>
<span class="number">  79</span>        <a href="http://www.allegro.cc/manual/ALLEGRO_FILE"><span class="a">ALLEGRO_FILE</span></a><span class="k3">*</span> file <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_fopen"><span class="a">al_fopen</span></a><span class="k2">(</span><span class="s">"datos.dat"</span>, <span class="s">"wb"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  80</span>
<span class="number">  81</span>        <a href="http://www.allegro.cc/manual/al_fwrite32be"><span class="a">al_fwrite32be</span></a><span class="k2">(</span>file, modalidad_normal<span class="k2">)</span><span class="k2">;</span>
<span class="number">  82</span>        <a href="http://www.allegro.cc/manual/al_fwrite32be"><span class="a">al_fwrite32be</span></a><span class="k2">(</span>file, catg0<span class="k2">)</span><span class="k2">;</span>
<span class="number">  83</span>        <a href="http://www.allegro.cc/manual/al_fwrite32be"><span class="a">al_fwrite32be</span></a><span class="k2">(</span>file, catg1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  84</span>        <a href="http://www.allegro.cc/manual/al_fwrite32be"><span class="a">al_fwrite32be</span></a><span class="k2">(</span>file, catg2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  85</span>        <a href="http://www.allegro.cc/manual/al_fwrite32be"><span class="a">al_fwrite32be</span></a><span class="k2">(</span>file, catg3<span class="k2">)</span><span class="k2">;</span>
<span class="number">  86</span>        <a href="http://www.allegro.cc/manual/al_fwrite32be"><span class="a">al_fwrite32be</span></a><span class="k2">(</span>file, catg4<span class="k2">)</span><span class="k2">;</span>
<span class="number">  87</span>
<span class="number">  88</span>        <a href="http://www.allegro.cc/manual/al_fwrite32be"><span class="a">al_fwrite32be</span></a><span class="k2">(</span>file, <span class="k2">(</span><span class="k1">int</span><span class="k2">)</span><a href="http://www.allegro.cc/manual/al_ustr_size"><span class="a">al_ustr_size</span></a><span class="k2">(</span>URL_page<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  89</span>        <a href="http://www.allegro.cc/manual/al_fwrite"><span class="a">al_fwrite</span></a><span class="k2">(</span>file, <a href="http://www.allegro.cc/manual/al_cstr"><span class="a">al_cstr</span></a><span class="k2">(</span>URL_page<span class="k2">)</span>, <a href="http://www.allegro.cc/manual/al_ustr_size"><span class="a">al_ustr_size</span></a><span class="k2">(</span>URL_page<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  90</span>
<span class="number">  91</span>        <a href="http://www.allegro.cc/manual/al_fwrite32be"><span class="a">al_fwrite32be</span></a><span class="k2">(</span>file, <span class="k3">*</span><span class="k1">reinterpret_cast</span><span class="k3">&lt;</span><span class="k1">int</span><span class="k3">*</span><span class="k3">&gt;</span><span class="k2">(</span><span class="k3">&amp;</span>sfx<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  92</span>        <a href="http://www.allegro.cc/manual/al_fwrite32be"><span class="a">al_fwrite32be</span></a><span class="k2">(</span>file, <span class="k3">*</span><span class="k1">reinterpret_cast</span><span class="k3">&lt;</span><span class="k1">int</span><span class="k3">*</span><span class="k3">&gt;</span><span class="k2">(</span><span class="k3">&amp;</span>music<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  93</span>        <a href="http://www.allegro.cc/manual/al_fwrite32be"><span class="a">al_fwrite32be</span></a><span class="k2">(</span>file, fullscreen<span class="k2">)</span><span class="k2">;</span>
<span class="number">  94</span>
<span class="number">  95</span>        <a href="http://www.allegro.cc/manual/al_fclose"><span class="a">al_fclose</span></a><span class="k2">(</span>file<span class="k2">)</span><span class="k2">;</span>
<span class="number">  96</span>        <a href="http://www.allegro.cc/manual/al_ustr_free"><span class="a">al_ustr_free</span></a><span class="k2">(</span>URL_page<span class="k2">)</span><span class="k2">;</span>
<span class="number">  97</span>
<span class="number">  98</span>     <span class="k2">}</span>
<span class="number">  99</span>
<span class="number"> 100</span><span class="k2">}</span><span class="k2">;</span>
<span class="number"> 101</span>
<span class="number"> 102</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 103</span><span class="k2">{</span>
<span class="number"> 104</span>    <a href="http://www.allegro.cc/manual/al_init"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 105</span>
<span class="number"> 106</span>    <a href="http://www.allegro.cc/manual/al_init_font_addon"><span class="a">al_init_font_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// initialize the font addon</span>
<span class="number"> 107</span>    <a href="http://www.allegro.cc/manual/al_init_ttf_addon"><span class="a">al_init_ttf_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span><span class="c">// initialize the ttf (True Type Font) addon</span>
<span class="number"> 108</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_ttf_font"><span class="a">al_load_ttf_font</span></a><span class="k2">(</span><span class="s">"consola.ttf"</span>,<span class="n">72</span>,<span class="n">0</span> <span class="k2">)</span><span class="k2">;</span> <span class="c">// load the font | Font from Larabie Free Fonts</span>
<span class="number"> 109</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number"> 110</span>    display <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_display"><span class="a">al_create_display</span></a><span class="k2">(</span><span class="n">640</span>,<span class="n">480</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 111</span>
<span class="number"> 112</span><span class="c">// Closing and opening simulation</span>
<span class="number"> 113</span>
<span class="number"> 114</span>    <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>i<span class="k3">&lt;</span><span class="n">5</span><span class="k2">;</span>i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span><span class="k2">{</span>
<span class="number"> 115</span>       OPC_DATA <span class="k3">*</span>od <span class="k3">=</span> <span class="k1">new</span> OPC_DATA<span class="k2">;</span>
<span class="number"> 116</span>       <a href="http://www.allegro.cc/manual/al_ustr_append_chr"><span class="a">al_ustr_append_chr</span></a><span class="k2">(</span>od-&gt;URL_page, <span class="n">97</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// This adds the letter "a"</span>
<span class="number"> 117</span>       <span class="k1">delete</span> od<span class="k2">;</span>
<span class="number"> 118</span>    <span class="k2">}</span>
<span class="number"> 119</span><span class="c">// - - - - - - - - - - - - - - - -</span>
<span class="number"> 120</span>
<span class="number"> 121</span>    OPC_DATA <span class="k3">*</span>od1 <span class="k3">=</span> <span class="k1">new</span> OPC_DATA<span class="k2">;</span>
<span class="number"> 122</span>    <a href="http://www.allegro.cc/manual/al_ustr_append_chr"><span class="a">al_ustr_append_chr</span></a><span class="k2">(</span>od1-&gt;URL_page, <span class="n">97</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 123</span>
<span class="number"> 124</span>    <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">50</span>,<span class="n">10</span>,<span class="n">70</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 125</span>    <a href="http://www.allegro.cc/manual/al_draw_ustr"><span class="a">al_draw_ustr</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span>, <span class="n">640</span><span class="k3">/</span><span class="n">2</span>, <span class="k2">(</span><span class="n">480</span><span class="k3">/</span><span class="n">4</span><span class="k2">)</span>,ALLEGRO_ALIGN_CENTRE, od1-&gt;URL_page<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 126</span>
<span class="number"> 127</span>    <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 128</span>
<span class="number"> 129</span>    std::cout<span class="k3">&lt;</span><span class="k3">&lt;</span><a href="http://www.allegro.cc/manual/al_cstr"><span class="a">al_cstr</span></a><span class="k2">(</span>od1-&gt;URL_page<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 130</span>    <a href="http://www.allegro.cc/manual/al_rest"><span class="a">al_rest</span></a><span class="k2">(</span><span class="n">0</span>.<span class="n">9</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 131</span>
<span class="number"> 132</span>    <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 133</span>    <span class="k1">delete</span> od1<span class="k2">;</span>
<span class="number"> 134</span>
<span class="number"> 135</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 136</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (AMCerasoli)</author>
		<pubDate>Mon, 26 Sep 2011 06:49:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well, as Matthew said, <span class="source-code"><a href="http://www.allegro.cc/manual/al_ustr_new"><span class="a">al_ustr_new</span></a></span> uses <span class="source-code"><a href="http://www.delorie.com/djgpp/doc/libc/libc_764.html" target="_blank">strlen</a></span> which computes the length of the string by looking for the first 0 character in that memory block. I&#39;d guess that you don&#39;t write the trailing 0 when you save the .dat file, so <span class="source-code"><a href="http://www.delorie.com/djgpp/doc/libc/libc_764.html" target="_blank">strlen</a></span> reports something much larger than what it should be.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Mon, 26 Sep 2011 06:58:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Change it to:
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">char</span> <span class="k3">*</span>buf <span class="k3">=</span> <span class="k1">new</span> <span class="k1">char</span> <span class="k2">[</span>len <span class="k3">+</span> <span class="n">1</span><span class="k2">]</span><span class="k2">;</span>
buf<span class="k2">[</span>len<span class="k2">]</span> <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
</pre></div></div><p>
You must null terminate each of your strings. (Or you can use  <span class="source-code"><a href="http://www.allegro.cc/manual/al_ustr_new_from_buffer"><span class="a">al_ustr_new_from_buffer</span></a><span class="k2">(</span><span class="k2">)</span></span> for every case.)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Mon, 26 Sep 2011 06:59:58 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><s>That won&#39;t help though since</s> he does this (confirming my guess):</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number"> 89</span><a href="http://www.allegro.cc/manual/al_fwrite"><span class="a">al_fwrite</span></a><span class="k2">(</span>file, <a href="http://www.allegro.cc/manual/al_cstr"><span class="a">al_cstr</span></a><span class="k2">(</span>URL_page<span class="k2">)</span>, <a href="http://www.allegro.cc/manual/al_ustr_size"><span class="a">al_ustr_size</span></a><span class="k2">(</span>URL_page<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
</div></div><p>

And <span class="source-code"><a href="http://www.allegro.cc/manual/al_ustr_size"><span class="a">al_ustr_size</span></a></span> doesn&#39;t include the trailing 0.</p><p>Just use the <span class="source-code"><a href="http://www.allegro.cc/manual/al_ustr_new_from_buffer"><span class="a">al_ustr_new_from_buffer</span></a></span> and be done with it.</p><p>EDIT: Nvm, can&#39;t read.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Mon, 26 Sep 2011 07:07:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/608449/932298#target">SiegeLord</a> said:</div><div class="quote"><p> That won&#39;t help though since he does this (confirming my guess):
</p></div></div><p>I&#39;m talking about when he loads the strings.</p><p>But I&#39;d use <span class="source-code"><a href="http://www.allegro.cc/manual/al_ustr_new_from_buffer"><span class="a">al_ustr_new_from_buffer</span></a><span class="k2">(</span><span class="k2">)</span></span> since it exists for this purpose.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Mon, 26 Sep 2011 07:11:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hmm, I get it now, I didn&#39;t know that <span class="source-code"><a href="http://www.allegro.cc/manual/al_ustr_new"><span class="a">al_ustr_new</span></a><span class="k2">(</span><span class="k2">)</span></span> was looking for the null character, but otherwise how would know when to stop?.</p><p>Yhea the best choice is to keep using <span class="source-code"><a href="http://www.allegro.cc/manual/al_ustr_new_from_buffer"><span class="a">al_ustr_new_from_buffer</span></a><span class="k2">(</span><span class="k2">)</span></span> since I&#39;m already saving a flag into the file, otherwise I could save the string with the null character included, and read the file until I find that null charter and then move on with the rest, and I wouldn&#39;t need the <span class="source-code">len</span> flag.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (AMCerasoli)</author>
		<pubDate>Mon, 26 Sep 2011 14:29:11 +0000</pubDate>
	</item>
</rss>
