check for a broken inet_ntoa() on IRIX
[rsync/rsync.git] / lib / compat.c
index cabdc87..f47275f 100644 (file)
@@ -76,3 +76,19 @@ char *strpbrk(const char *s, const char *accept)
        return NULL;
 }
 #endif
+
+#ifdef REPLACE_INET_NTOA
+char *rep_inet_ntoa(struct in_addr ip)
+{
+       unsigned char *p = (unsigned char *)&ip.s_addr;
+       static char buf[18];
+#if WORDS_BIGENDIAN
+       slprintf(buf, 17, "%d.%d.%d.%d", 
+                (int)p[0], (int)p[1], (int)p[2], (int)p[3]);
+#else
+       slprintf(buf, 17, "%d.%d.%d.%d", 
+                (int)p[3], (int)p[2], (int)p[1], (int)p[0]);
+#endif
+       return buf;
+}
+#endif