Example #1
0
ZEND_API void zend_html_puts(const char *s, uint len TSRMLS_DC)
{
	const char *ptr=s, *end=s+len;

#ifdef ZEND_MULTIBYTE
	char *filtered;
	int filtered_len;

	if (LANG_SCNG(output_filter)) {
		LANG_SCNG(output_filter)(&filtered, &filtered_len, s, len TSRMLS_CC);
		ptr = filtered;
		end = filtered + filtered_len;
	}
#endif /* ZEND_MULTIBYTE */

	while (ptr<end) {
		if (*ptr==' ') {
			do {
				zend_html_putc(*ptr);
			} while ((++ptr < end) && (*ptr==' '));
		} else {
			zend_html_putc(*ptr++);
		}
	}

#ifdef ZEND_MULTIBYTE
	if (LANG_SCNG(output_filter)) {
		efree(filtered);
	}
#endif /* ZEND_MULTIBYTE */
}
Example #2
0
ZEND_API void zend_html_puts(const char *s, uint len TSRMLS_DC)
{
	const unsigned char *ptr = (const unsigned char*)s, *end = ptr + len;
	unsigned char *filtered;
	size_t filtered_len;

	if (LANG_SCNG(output_filter)) {
		LANG_SCNG(output_filter)(&filtered, &filtered_len, ptr, len TSRMLS_CC);
		ptr = filtered;
		end = filtered + filtered_len;
	}

	while (ptr<end) {
		if (*ptr==' ') {
			do {
				zend_html_putc(*ptr);
			} while ((++ptr < end) && (*ptr==' '));
		} else {
			zend_html_putc(*ptr++);
		}
	}

	if (LANG_SCNG(output_filter)) {
		efree(filtered);
	}
}