Browse Source

update code

Nick Peng 7 years ago
parent
commit
c8855bafaf
4 changed files with 11 additions and 29 deletions
  1. 2 0
      dns-client.c
  2. 6 0
      dns-client.h
  3. 1 1
      fast_ping.c
  4. 2 28
      include/bitops.h

+ 2 - 0
dns-client.c

@@ -0,0 +1,2 @@
+#include "dns-client.h"
+

+ 6 - 0
dns-client.h

@@ -0,0 +1,6 @@
+#ifndef _SMART_DNS_CLIENT_H
+#define _SMART_DNS_CLIENT_H
+
+
+
+#endif

+ 1 - 1
fast_ping.c

@@ -426,7 +426,7 @@ int fast_ping_start(const char *host, int timeout, void *userptr)
     ping_host->type = domain;
     ping_host->fd = _fast_ping_create_icmp(icmp_proto);
     ping_host->timeout = timeout;
-    ping_host->interval = interval;
+    ping_host->interval = (timeout > interval) ? timeout : interval;
     memcpy(&ping_host->addr, gai->ai_addr, gai->ai_addrlen);
     ping_host->addr_len = gai->ai_addrlen;
 

+ 2 - 28
include/bitops.h

@@ -77,31 +77,7 @@ static inline unsigned long __ffs(unsigned long word)
 
 static inline int fls(int x)
 {
-	int r = 32;
-
-	if (!x)
-		return 0;
-	if (!(x & 0xffff0000u)) {
-		x <<= 16;
-		r -= 16;
-	}
-	if (!(x & 0xff000000u)) {
-		x <<= 8;
-		r -= 8;
-	}
-	if (!(x & 0xf0000000u)) {
-		x <<= 4;
-		r -= 4;
-	}
-	if (!(x & 0xc0000000u)) {
-		x <<= 2;
-		r -= 2;
-	}
-	if (!(x & 0x80000000u)) {
-		x <<= 1;
-		r -= 1;
-	}
-	return r;
+	return 32 - __builtin_clz(x);
 }
 
 /**
@@ -126,9 +102,7 @@ static inline int fls64(uint64_t x)
 #elif BITS_PER_LONG == 64
 static inline int fls64(uint64_t x)
 {
-	if (x == 0)
-		return 0;
-	return __fls(x) + 1;
+	return 64 - __builtin_clzll(x);
 }
 #else
 #error BITS_PER_LONG not 32 or 64