#include "portab.h"
-static char UNUSED id[] = "$Id: tool.c,v 1.4 2006/03/22 08:05:10 alex Exp $";
+static char UNUSED id[] = "$Id: tool.c,v 1.7 2007/11/23 16:26:05 fw Exp $";
#include "imp.h"
#include <assert.h>
#include <stdio.h>
#include <string.h>
+#include <netinet/in.h>
+#ifdef HAVE_ARPA_INET_H
+# include <arpa/inet.h>
+#endif
+
#include "exp.h"
#include "tool.h"
start = String;
/* Remove whitespaces at the beginning of the string ... */
- while (*start == ' ' || *start == '\t')
+ while (*start == ' ' || *start == '\t' ||
+ *start == '\n' || *start == '\r')
start++;
+ if (!*start) {
+ *String = '\0';
+ return;
+ }
+
/* ... and at the end: */
end = strchr(start, '\0');
+ end--;
while ((*end == ' ' || *end == '\t' || *end == '\n' || *end == '\r')
&& end >= start)
end--;
/* New trailing NULL byte */
*(++end) = '\0';
- memmove(String, start, (size_t)(end - start));
+ memmove(String, start, (size_t)(end - start)+1);
} /* ngt_TrimStr */
} /* ngt_TrimLastChr */
+GLOBAL bool
+ngt_IPStrToBin(const char *ip_str, struct in_addr *inaddr)
+{
+ /* AF is always AF_INET for now */
+#ifdef HAVE_INET_ATON
+ if (inet_aton(ip_str, inaddr) == 0)
+ return false;
+#else
+ inaddr->s_addr = inet_addr(ip_str);
+ if (inaddr->s_addr == (unsigned)-1)
+ return false;
+#endif
+ return true;
+}
+
+
+
+
/* -eof- */