PHP 8.2.30
Preview: zend_string.h Size: 2.33 KB
//opt/alt/php55/usr/include/php/Zend/zend_string.h

/*
   +----------------------------------------------------------------------+
   | Zend Engine                                                          |
   +----------------------------------------------------------------------+
   | Copyright (c) 1998-2015 Zend Technologies Ltd. (http://www.zend.com) |
   +----------------------------------------------------------------------+
   | This source file is subject to version 2.00 of the Zend license,     |
   | that is bundled with this package in the file LICENSE, and is        | 
   | available through the world-wide-web at the following url:           |
   | http://www.zend.com/license/2_00.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: Dmitry Stogov <dmitry@zend.com>                             |
   +----------------------------------------------------------------------+
*/

/* $Id: $ */

#ifndef ZEND_STRING_H
#define ZEND_STRING_H

#include "zend.h"

BEGIN_EXTERN_C()
ZEND_API extern const char *(*zend_new_interned_string)(const char *str, int len, int free_src TSRMLS_DC);
ZEND_API extern void (*zend_interned_strings_snapshot)(TSRMLS_D);
ZEND_API extern void (*zend_interned_strings_restore)(TSRMLS_D);

void zend_interned_strings_init(TSRMLS_D);
void zend_interned_strings_dtor(TSRMLS_D);

ZEND_API char *zend_string_concat3(
		const char *str1, size_t str1_len,
		const char *str2, size_t str2_len,
		const char *str3, size_t str3_len,
		size_t *new_len);

END_EXTERN_C()

#ifndef ZTS

#define IS_INTERNED(s) \
	(((s) >= CG(interned_strings_start)) && ((s) < CG(interned_strings_end)))

#else

#define IS_INTERNED(s) \
	(0)

#endif

#define INTERNED_LEN(s) \
	(((Bucket*)(((char*)(s))-sizeof(Bucket)))->nKeyLength)

#define INTERNED_HASH(s) \
	(((Bucket*)(((char*)(s))-sizeof(Bucket)))->h)

#define str_efree(s) do { \
		if (!IS_INTERNED(s)) { \
			efree((char*)s); \
		} \
	} while (0)

#define str_free(s) do { \
		if (!IS_INTERNED(s)) { \
			free((char*)s); \
		} \
	} while (0)

#endif /* ZEND_STRING_H */

/*
 * Local variables:
 * tab-width: 4
 * c-basic-offset: 4
 * indent-tabs-mode: t
 * End:
 */

Directory Contents

Dirs: 0 × Files: 59

Name Size Perms Modified Actions
26.04 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
11.82 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
40.77 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
1.59 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
1.59 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
1.82 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
33.77 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
107 B lrw-r--r-- 2026-03-09 14:52:33
Edit Download
2.44 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
3.19 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
4.98 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
2.00 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
1.86 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
2.11 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
2.97 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
13.64 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
4.50 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
15.50 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
7.23 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
2.60 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
7.13 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
3.15 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
17.40 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
2.36 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
1.44 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
9.77 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
3.18 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
1.91 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
225 B lrw-r--r-- 2026-03-09 14:52:33
Edit Download
3.95 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
1.61 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
3.68 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
8.75 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
2.63 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
297 B lrw-r--r-- 2026-03-09 14:52:33
Edit Download
5.10 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
3.88 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
4.97 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
4.99 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
3.66 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
2.16 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
4.28 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
9.21 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
30.18 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
4.21 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
1.62 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
3.99 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
2.33 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
1.81 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
2.88 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
2.33 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
1.82 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
6.86 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
2.30 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
3.76 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
1.39 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
155.71 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
1.31 MB lrw-r--r-- 2026-03-09 14:52:33
Edit Download
8.41 KB lrw-r--r-- 2026-03-09 14:52:33
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).