<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Segmentation fault bei ClibPDF-Textbox]]></title><description><![CDATA[<p>So...</p>
<p>ich muss mich hier grad in die PDF-Erstellung mit der ClibPDF einarbeiten...<br />
aus der Doku hab ich folgendes Beispiel abgetippt:</p>
<pre><code class="language-cpp">#include &lt;cpdflib.h&gt;

int main( int argc, char *argv[] )
{
	CPDFdoc *pdf;

	pdf = cpdf_open( 0, NULL );
 	cpdf_enableCompression( pdf, YES ); // ZLib-Komprimierung aktivieren
	cpdf_init( pdf );
	cpdf_pageInit( pdf, 1, PORTRAIT, LETTER, LETTER ); // Seite anlegen

	char *textbuf = &quot;Some very long text string\nfrom somewhere..\n\n&quot;;
	char *currtext;
	float angle = 0.0;
	float linespace = 12.0;
	float yl = 72.0;
	float w = 225.0;
	float h = 648.0;

	CPDFtboxAttr tboxatr;
 	tboxatr.alignmode = 3; //TBOX_JUSTIFY
 	tboxatr.NLmode = 0;
 	tboxatr.paragraphSpacing = 12.0;
 	tboxatr.noMark = 0;
	currtext = textbuf;
	cpdf_beginText( pdf, 0 );
	cpdf_setFont( pdf, &quot;Times-Roman&quot;, &quot;MacRomanEncoding&quot;, 12.0 );
	currtext = cpdf_rawTextBox( pdf, 72.0, yl, w, h, angle, linespace, &amp;tboxatr, currtext );
	currtext = cpdf_rawTextBox( pdf, 315.0, yl, w, h, angle, linespace, &amp;tboxatr, currtext );
	cpdf_endText( pdf );

	cpdf_finalizeAll( pdf );
	cpdf_savePDFmemoryStreamToFile( pdf, &quot;textbox.pdf&quot; );
// 	cpdf_launchPreview( pdf );

	cpdf_close( pdf );
}
</code></pre>
<p>allerdings bewirken die Zeilen 28 und 29 einen Segmentation Fault, den ich aber bisher nicht beheben konnte</p>
<p>für einen Schubs in die richtige Richtung wär ich dankbar...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/203272/segmentation-fault-bei-clibpdf-textbox</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 11:00:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/203272.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 21 Jan 2008 08:19:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Segmentation fault bei ClibPDF-Textbox on Mon, 21 Jan 2008 08:20:39 GMT]]></title><description><![CDATA[<p>So...</p>
<p>ich muss mich hier grad in die PDF-Erstellung mit der ClibPDF einarbeiten...<br />
aus der Doku hab ich folgendes Beispiel abgetippt:</p>
<pre><code class="language-cpp">#include &lt;cpdflib.h&gt;

int main( int argc, char *argv[] )
{
	CPDFdoc *pdf;

	pdf = cpdf_open( 0, NULL );
 	cpdf_enableCompression( pdf, YES ); // ZLib-Komprimierung aktivieren
	cpdf_init( pdf );
	cpdf_pageInit( pdf, 1, PORTRAIT, LETTER, LETTER ); // Seite anlegen

	char *textbuf = &quot;Some very long text string\nfrom somewhere..\n\n&quot;;
	char *currtext;
	float angle = 0.0;
	float linespace = 12.0;
	float yl = 72.0;
	float w = 225.0;
	float h = 648.0;

	CPDFtboxAttr tboxatr;
 	tboxatr.alignmode = 3; //TBOX_JUSTIFY
 	tboxatr.NLmode = 0;
 	tboxatr.paragraphSpacing = 12.0;
 	tboxatr.noMark = 0;
	currtext = textbuf;
	cpdf_beginText( pdf, 0 );
	cpdf_setFont( pdf, &quot;Times-Roman&quot;, &quot;MacRomanEncoding&quot;, 12.0 );
	currtext = cpdf_rawTextBox( pdf, 72.0, yl, w, h, angle, linespace, &amp;tboxatr, currtext );
	currtext = cpdf_rawTextBox( pdf, 315.0, yl, w, h, angle, linespace, &amp;tboxatr, currtext );
	cpdf_endText( pdf );

	cpdf_finalizeAll( pdf );
	cpdf_savePDFmemoryStreamToFile( pdf, &quot;textbox.pdf&quot; );
// 	cpdf_launchPreview( pdf );

	cpdf_close( pdf );
}
</code></pre>
<p>allerdings bewirken die Zeilen 28 und 29 einen Segmentation Fault, den ich aber bisher nicht beheben konnte</p>
<p>für einen Schubs in die richtige Richtung wär ich dankbar...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1440324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440324</guid><dc:creator><![CDATA[zwutz]]></dc:creator><pubDate>Mon, 21 Jan 2008 08:20:39 GMT</pubDate></item><item><title><![CDATA[Reply to Segmentation fault bei ClibPDF-Textbox on Mon, 21 Jan 2008 08:21:44 GMT]]></title><description><![CDATA[<p>Was sagt denn der Debugger?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1440328</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440328</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 21 Jan 2008 08:21:44 GMT</pubDate></item><item><title><![CDATA[Reply to Segmentation fault bei ClibPDF-Textbox on Mon, 21 Jan 2008 08:50:20 GMT]]></title><description><![CDATA[<ul>
<li>die aktuellen Variablenwerte sind soweit i.O, zumindest was meine verwendeten Variablen angeht.</li>
<li>in meinem Code ist besagte Zeile 28 der Ausstiegspunkt</li>
<li>endgültig fliegt er in der cpdfTextBox.c bei folgender Zeile</li>
</ul>
<pre><code class="language-cpp">*p = '\0';
</code></pre>
<p>, wobei char *p offensichtlich das gerade verarbeitete Zeichen ist</p>
<ul>
<li>der Fehler tritt beim ersten Leerzeichen im Text auf, egal ob davor ein Wort steht, oder nicht</li>
</ul>
<p>obs was hilft, weiß ich nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1440345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440345</guid><dc:creator><![CDATA[zwutz]]></dc:creator><pubDate>Mon, 21 Jan 2008 08:50:20 GMT</pubDate></item><item><title><![CDATA[Reply to Segmentation fault bei ClibPDF-Textbox on Mon, 21 Jan 2008 08:51:33 GMT]]></title><description><![CDATA[<p>*currtext ist ja auch ein Pointer der in irgend einen Bereich zeigt. Initialisiere doch lieber Speicher dafür. Denn du übergibst der Methode einen ungültigen Zeiger und daher sind die Operationen in der Funktion auf diesem Pointer natürlich ungültig.</p>
<p>char *currtext = new char[1024];</p>
<p>Oder sowas. Ich weiß ja nicht wieviel die Funktion braucht. Klingt aber nach einer möglichen Sicherheitslücke, wenn du die maximale Größe nicht mitgeben kannst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1440352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440352</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 21 Jan 2008 08:51:33 GMT</pubDate></item><item><title><![CDATA[Reply to Segmentation fault bei ClibPDF-Textbox on Mon, 21 Jan 2008 09:09:58 GMT]]></title><description><![CDATA[<p>eigentlich sollte durch die Zeile <code>currtext = textbuf;</code> der Zeiger soweit gültig sein.<br />
auch die Speicherreservierung brachte keine Besserung</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1440368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440368</guid><dc:creator><![CDATA[zwutz]]></dc:creator><pubDate>Mon, 21 Jan 2008 09:09:58 GMT</pubDate></item><item><title><![CDATA[Reply to Segmentation fault bei ClibPDF-Textbox on Mon, 21 Jan 2008 09:17:36 GMT]]></title><description><![CDATA[<p>Die Methode gibt NULL zurück, wenn alles geklappt hat. Das solltest du abfragen, bevor du die Rückgabe wieder an die nächste Methode übergibst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1440378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440378</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 21 Jan 2008 09:17:36 GMT</pubDate></item><item><title><![CDATA[Reply to Segmentation fault bei ClibPDF-Textbox on Mon, 21 Jan 2008 09:25:16 GMT]]></title><description><![CDATA[<p>Fellhuhn schrieb:</p>
<blockquote>
<p>Die Methode gibt NULL zurück, wenn alles geklappt hat. Das solltest du abfragen, bevor du die Rückgabe wieder an die nächste Methode übergibst.</p>
</blockquote>
<p>das ist in dem Fall eher unwichtig, da es wie gesagt schon beim ersten Aufruf der Methode kracht</p>
<p>und nein, auch die Abfrage ändert nichts am bisherigen Verhalten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1440388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440388</guid><dc:creator><![CDATA[zwutz]]></dc:creator><pubDate>Mon, 21 Jan 2008 09:25:16 GMT</pubDate></item><item><title><![CDATA[Reply to Segmentation fault bei ClibPDF-Textbox on Mon, 21 Jan 2008 09:30:34 GMT]]></title><description><![CDATA[<p>Ist die Seite vielleicht zu klein? In dem Beispiel wird ja keine Seitenbreite/-höhe angegeben. Passt es evtl. nicht auf Letter? Ansonsten kann ich da nichts finden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1440396</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440396</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 21 Jan 2008 09:30:34 GMT</pubDate></item><item><title><![CDATA[Reply to Segmentation fault bei ClibPDF-Textbox on Mon, 21 Jan 2008 09:46:38 GMT]]></title><description><![CDATA[<p>negativ</p>
<p>auch mit den Größenangaben hab ich schon hinreichend gespielt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1440408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440408</guid><dc:creator><![CDATA[zwutz]]></dc:creator><pubDate>Mon, 21 Jan 2008 09:46:38 GMT</pubDate></item><item><title><![CDATA[Reply to Segmentation fault bei ClibPDF-Textbox on Mon, 21 Jan 2008 09:49:11 GMT]]></title><description><![CDATA[<p>Und ein Text ohne Leerzeichen bringt keine Probleme? Andere Font/Encoding schon probiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1440412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440412</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 21 Jan 2008 09:49:11 GMT</pubDate></item><item><title><![CDATA[Reply to Segmentation fault bei ClibPDF-Textbox on Mon, 21 Jan 2008 12:26:10 GMT]]></title><description><![CDATA[<p>habs jetzt hinbekommen<br />
die beiden Zeilen hab ich so jetzt abgeändert</p>
<pre><code class="language-cpp">char buf[120];
sprintf(buf,&quot;%s\n&quot;, textbuf );
currtext = cpdf_rawTextBox(pdf, 72.0, yl, w, h, angle, linespace, &amp;tboxatr, buf );
if( currtext != NULL )
    currtext = cpdf_rawTextBox(pdf, 72.0, yl, w, h, angle, linespace, &amp;tboxatr, currtext );
</code></pre>
<p>versteh einer diese lib -.-</p>
<p>gibts da nicht ne etwas neuere lib... die wird ja, soweit ich mitbekommen habe, nichtmal mehr supportet, geschweige denn geupdatet... hab keine Lust, mich hier wieder auf C-Niveau zu begeben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1440534</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1440534</guid><dc:creator><![CDATA[zwutz]]></dc:creator><pubDate>Mon, 21 Jan 2008 12:26:10 GMT</pubDate></item></channel></rss>