/* +----------------------------------------------------------------------+ | Zend Engine | +----------------------------------------------------------------------+ | Copyright (c) 1998-2000 Zend Technologies Ltd. (http://www.zend.com) | +----------------------------------------------------------------------+ | This source file is subject to version 0.92 of the Zend license, | | that is bundled with this package in the file LICENSE, and is | | available at through the world-wide-web at | | http://www.zend.com/license/0_92.txt. | | If you did not receive a copy of the Zend license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@zend.com so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Andi Gutmans | | Zeev Suraski | +----------------------------------------------------------------------+ */ /* This indenter doesn't really work, it's here for no particular reason. */ #include "zend.h" #include "zend-parser.h" #include "zend_compile.h" #include "zend_indent.h" #ifndef ZTS extern char *zendtext; extern int zendleng; #else #define zendtext ((char *) zend_get_zendtext(CLS_C)) #define zendleng zend_get_zendleng(CLS_C) #endif static void handle_whitespace(int *emit_whitespace) { unsigned char c; int i; for (c=0; c<128; c++) { if (emit_whitespace[c]>0) { for (i=0; i0) { ZEND_PUTS(" {\n"); memset(emit_whitespace, 0, sizeof(int)*256); } else { ZEND_PUTS("{"); } break; case '}': nest_level--; if (emit_whitespace['\n']==0) { ZEND_PUTS("\n"); } for (i=0; i0) { for (i=0; i