summaryrefslogtreecommitdiff
path: root/ext/dba/libcdb/uint32.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/dba/libcdb/uint32.c')
-rw-r--r--ext/dba/libcdb/uint32.c49
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]));
+}
+/* }}} */