rem: for (int32 c2 = c; c2 < numChars; c2++) {
add: for (int32 c2 = c; c2 < (int32)numChars; c2++) {
context: copy_from_end(const char* src, char* dst, uint32 numChars, uint32 length,			  const float* escapementArray, float width, float ellipsisWidth, float size){	const char* originalStart = src;	src += length - 1;	float currentWidth = 0.0;	for (int32 c = numChars - 1; c > 0; c--) {		currentWidth += escapementArray[c] * size;		if (currentWidth > width) {			// ups, we definitely don't fit. go back until the ellipsis fits			currentWidth += ellipsisWidth;			// go forward again until ellipsis fits (already beyond the target)			for (int32 c2 = c; c2 < numChars; c2++) {//printf(" backward: %c (%ld) (%.1f - %.1f = %.1f)\n", *dst, c2, currentWidth, escapementArray[c2] * size, currentWidth - escapementArray[c2] * size);				currentWidth -= escapementArray[c2] * size;				do {					src++;				} while (IsInsideGlyph(*src));				// see if we went back enough				if (currentWidth <= width)					break;			}			break;		} else {			// go back one glyph			do {				src--;			} while (IsInsideGlyph(*src));		}	}	// copy from the end of the string	uint32 bytesToCopy = originalStart + length - src;	memcpy(dst, src, bytesToCopy);	dst += bytesToCopy;	return dst;}