HEX
Server: LiteSpeed
System: Linux server.searchcove.com 4.18.0-513.24.1.lve.2.el8.x86_64 #1 SMP Fri May 24 12:42:50 UTC 2024 x86_64
User: lurax (1083)
PHP: 8.3.30
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/include/dovecot/sort.h
#ifndef SORT_H
#define SORT_H

#define INTEGER_CMP(name, type)					     \
	static inline int name(const type *i1, const type *i2)	     \
	{							     \
		if (*i1 < *i2)					     \
			return -1;				     \
		else if (*i1 > *i2)				     \
			return 1;				     \
		else						     \
			return 0;				     \
	}

INTEGER_CMP(uint64_cmp, uint64_t)
INTEGER_CMP(uint32_cmp, uint32_t)

#define i_qsort(base, nmemb, size, cmp) \
	qsort(base, nmemb, size -					\
	      CALLBACK_TYPECHECK(cmp, int (*)(typeof(const typeof(*base) *), \
					      typeof(const typeof(*base) *))), \
	      (int (*)(const void *, const void *))cmp)

#define i_bsearch(key, base, nmemb, size, cmp) \
	bsearch(key, base, nmemb, size - \
		CALLBACK_TYPECHECK(cmp, int (*)(typeof(const typeof(*key) *), \
						typeof(const typeof(*base) *))), \
		(int (*)(const void *, const void *))cmp)

int search_strcmp(const char *key, const char *const *member) ATTR_PURE;
int search_strcasecmp(const char *key, const char *const *member) ATTR_PURE;

#endif