/*
- * Copyright (C) 2004-2009 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2004-2010 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
return msg;
}
+/**
+ * Free the content of a pointer and set it to \p NULL.
+ *
+ * This is equivalent to "free(*arg); *arg = NULL;".
+ *
+ * \param arg The pointer whose content should be freed.
+ */
void freep(void *arg)
{
void **ptr = (void **)arg;
private_data);
}
+/** Return the hex characters of the lower 4 bits. */
#define hex(a) (hexchar[(a) & 15])
+
static void write_size_header(char *buf, int n)
{
static char hexchar[] = "0123456789abcdef";
buf[4] = ' ';
}
+/**
+ * Read a four-byte hex-number and return its value.
+ *
+ * Each status item sent by para_server is prefixed with such a hex number in
+ * ASCII which describes the size of the status item.
+ *
+ * \param buf The buffer which must be at least four bytes long.
+ *
+ * \return The value of the hex number on success, \p -E_SIZE_PREFIX if the
+ * buffer did not contain only hex digits.
+ */
int read_size_header(const char *buf)
{
int i, len = 0;
}
}
-/** \cond LLONG_MAX and LLONG_LIN might not be defined. */
+/** \cond LLONG_MAX and LLONG_MIN might not be defined. */
#ifndef LLONG_MAX
-#define LLONG_MAX (1 << (sizeof(long) - 1))
+#define LLONG_MAX 9223372036854775807LL
#endif
#ifndef LLONG_MIN
#define LLONG_MIN (-LLONG_MAX - 1LL)
return ret;
}
+/**
+ * Compile a regular expression.
+ *
+ * This simple wrapper calls regcomp() and logs a message on errors.
+ *
+ * \param preg See regcomp(3).
+ * \param regex See regcomp(3).
+ * \param cflags See regcomp(3).
+ *
+ * \return Standard.
+ */
int para_regcomp(regex_t *preg, const char *regex, int cflags)
{
char *buf;