#ifndef NOSTD_SYS_PARAM_ARRAYLEN_H
#define NOSTD_SYS_PARAM_ARRAYLEN_H


#if !defined arraylen
#if __GNUC__
#define arraylen(a)								\
	(sizeof(a) / sizeof((a)[0]) +						\
	sizeof(typeof(int[1 - 2*!!__builtin_types_compatible_p(typeof(a),	\
	typeof(&a[0]))]))*0)
#else
#define arraylen(a)	(sizeof (a) / sizeof (a)[0])
#endif /* __GNUC__ */
#endif /* arraylen */


#endif /* !NOSTD_SYS_PARAM_ARRAYLEN_H */


syntax highlighted by Code2HTML, v. 0.9.1