lua: avoid truncation of large numeric values
[oweals/ubus.git] / ubus_common.h
index 99a7077bfe7e0b3460d313ec6dc3ef6f04f5e870..502e5c484a75b1a787380dc860600f6705da73e0 100644 (file)
@@ -1,15 +1,31 @@
+/*
+ * Copyright (C) 2011 Felix Fietkau <nbd@openwrt.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 2.1
+ * as published by the Free Software Foundation
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
 #ifndef __UBUS_COMMON_H
 #define __UBUS_COMMON_H
 
-#define UBUS_UNIX_SOCKET "/var/run/ubus.sock"
+#include <stdbool.h>
 
 #define UBUS_SIGNATURE_METHOD  (BLOBMSG_TYPE_LAST + 1)
 #define UBUS_SIGNATURE_END             (BLOBMSG_TYPE_LAST + 2)
 
-#ifndef ARRAY_SIZE
-#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
-#endif
+static inline bool ubus_strmatch_len(const char *s1, const char *s2, int *len)
+{
+       for (*len = 0; s1[*len] == s2[*len]; (*len)++)
+               if (!s1[*len])
+                       return true;
 
-#define __init __attribute__((constructor))
+       return false;
+}
 
 #endif