diff options
Diffstat (limited to 'ext/dba/libcdb/uint32.c')
-rw-r--r-- | ext/dba/libcdb/uint32.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/ext/dba/libcdb/uint32.c b/ext/dba/libcdb/uint32.c new file mode 100644 index 0000000000..261a002592 --- /dev/null +++ b/ext/dba/libcdb/uint32.c @@ -0,0 +1,49 @@ +/* + +----------------------------------------------------------------------+ + | PHP Version 4 | + +----------------------------------------------------------------------+ + | Copyright (c) 1997-2002 The PHP Group | + +----------------------------------------------------------------------+ + | This source file is subject to version 2.02 of the PHP license, | + | that is bundled with this package in the file LICENSE, and is | + | available at through the world-wide-web at | + | http://www.php.net/license/2_02.txt. | + | If you did not receive a copy of the PHP license and are unable to | + | obtain it through the world-wide-web, please send a note to | + | license@php.net so we can mail you a copy immediately. | + +----------------------------------------------------------------------+ + | Author: Marcus Boerger <helly@php.net> | + +----------------------------------------------------------------------+ + */ + +/* $Id$ */ + +/* incorporated from D.J.Bernstein's cdb-0.75 (http://cr.yp.to/cdb.html)*/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "php.h" + +#include "uint32.h" + +/* {{{ uint32_pack */ +PHPAPI void uint32_pack(char *out, uint32 in) +{ + out[0] = in&0xff; in>>=8; + out[1] = in&0xff; in>>=8; + out[2] = in&0xff; in>>=8; + out[3] = in&0xff; +} +/* }}} */ + +/* {{{ uint32_unpack */ +PHPAPI void uint32_unpack(const char *in, uint32 *out) +{ + *out = (((uint32)(unsigned char)in[3])<<24) | + (((uint32)(unsigned char)in[2])<<16) | + (((uint32)(unsigned char)in[1])<<8) | + (((uint32)(unsigned char)in[0])); +} +/* }}} */ |