// common.c -- misc functions used in client and server
#include "quakedef.h"
-#include "utf8lib.h"
#include <stdlib.h>
#include <fcntl.h>
int result = 0;
size_t wordLen;
size_t dummy;
- size_t wordChars;
dummy = 0;
wordWidth(passthroughCW, NULL, &dummy, -1);
switch(ch)
{
case 0: // end of string
- result += processLine(passthroughPL, startOfLine, u8_strnlen(startOfLine, cursor - startOfLine), spaceUsedInLine, isContinuation);
+ result += processLine(passthroughPL, startOfLine, cursor - startOfLine, spaceUsedInLine, isContinuation);
isContinuation = false;
goto out;
break;
case '\n': // end of line
- result += processLine(passthroughPL, startOfLine, u8_strnlen(startOfLine, cursor - startOfLine), spaceUsedInLine, isContinuation);
+ result += processLine(passthroughPL, startOfLine, cursor - startOfLine, spaceUsedInLine, isContinuation);
isContinuation = false;
++cursor;
startOfLine = cursor;
}
}
out_inner:
- /*
- wordChars = strlen(cursor);
- if (wordChars > wordLen)
- */
- wordChars = wordLen;
- spaceUsedForWord = wordWidth(passthroughCW, cursor, &wordChars, maxWidth - continuationWidth); // this may have reduced wordLen when it won't fit - but this is GOOD. TODO fix words that do fit in a non-continuation line
- if(wordChars < 1)
+ spaceUsedForWord = wordWidth(passthroughCW, cursor, &wordLen, maxWidth - continuationWidth); // this may have reduced wordLen when it won't fit - but this is GOOD. TODO fix words that do fit in a non-continuation line
+ if(wordLen < 1)
{
wordLen = 1;
spaceUsedForWord = maxWidth + 1; // too high, forces it in a line of itself
else
{
// output current line
- result += processLine(passthroughPL, startOfLine, u8_strnlen(startOfLine, cursor - startOfLine), spaceUsedInLine, isContinuation);
+ result += processLine(passthroughPL, startOfLine, cursor - startOfLine, spaceUsedInLine, isContinuation);
isContinuation = true;
startOfLine = cursor;
cursor += wordLen;
if(isContinuation && *ti->continuationString)
x += (int) DrawQ_String_Font(x, ti->y, ti->continuationString, strlen(ti->continuationString), ti->fontsize, ti->fontsize, 1.0, 1.0, 1.0, 1.0, 0, NULL, false, ti->font);
if(length > 0)
- DrawQ_String_Font(x, ti->y, line, length, ti->fontsize, ti->fontsize, 1.0, 1.0, 1.0, 1.0, 0, &(ti->colorindex), false, ti->font);
+ DrawQ_String_Font(x, ti->y, line, u8_strnlen(line, length), ti->fontsize, ti->fontsize, 1.0, 1.0, 1.0, 1.0, 0, &(ti->colorindex), false, ti->font);
}
ti->y += ti->fontsize;