From: <sri...@us...> - 2009-04-16 04:07:19
|
Revision: 580 http://sipp.svn.sourceforge.net/sipp/?rev=580&view=rev Author: srivanuj Date: 2009-04-16 04:07:17 +0000 (Thu, 16 Apr 2009) Log Message: ----------- Fix: The current wrap function is not able to handle words longer than the, provided by Mikael Rudholm Modified Paths: -------------- sipp/trunk/sipp.cpp Modified: sipp/trunk/sipp.cpp =================================================================== --- sipp/trunk/sipp.cpp 2009-04-15 12:10:03 UTC (rev 579) +++ sipp/trunk/sipp.cpp 2009-04-16 04:07:17 UTC (rev 580) @@ -3536,14 +3536,19 @@ } } else { int m; + int move_back = 0; - out[j] = '\0'; //printf("Before wrapping (pos = %d, k = %d, j = %d):\n%-*s%s\n", pos, k, j, offset, "", out); out[k] = '\n'; pos = j - k; + // move_back is used to step back in the in and out buffers when a + // word is longer than useoffset. + if (i > (k + useoffset)) { + move_back = i - (k + useoffset); + i -= move_back; + } k++; - out[j] = '\0'; out = (char *)realloc(out, alloced += useoffset); if (!out) { ERROR_NO("realloc"); @@ -3554,8 +3559,7 @@ } out[k + m] = ' '; } - j += useoffset; - out[j] = '\0'; + j += useoffset - move_back; //printf("After wrapping (pos = %d, k = %d):\n%-*s%s\n", pos, k, offset, "", out); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |