1
0
Эх сурвалжийг харах

* Tell which file/line called getsock()

svn: 884
Bryan Drewery 22 жил өмнө
parent
commit
28efdd4d25
2 өөрчлөгдсөн 9 нэмэгдсэн , 8 устгасан
  1. 3 3
      src/net.c
  2. 6 5
      src/net.h

+ 3 - 3
src/net.c

@@ -476,10 +476,10 @@ void setsock(int sock, int options)
 }
 }
 
 
 #ifdef USE_IPV6
 #ifdef USE_IPV6
-int getsock(int options, int af_def)
+int real_getsock(int options, int af_def, char *fname, int line)
 {
 {
 #else
 #else
-int getsock(int options)
+int real_getsock(int options, char *fname, int line)
 {
 {
   int af_def = AF_INET;
   int af_def = AF_INET;
 #endif /* USE_IPV6 */
 #endif /* USE_IPV6 */
@@ -490,7 +490,7 @@ int getsock(int options)
   if (sock >= 0)
   if (sock >= 0)
     setsock(sock, options);
     setsock(sock, options);
   else
   else
-    putlog(LOG_MISC, "*", "Warning: Can't create new socket!");
+    putlog(LOG_MISC, "*", "Warning: Can't create new socket! (%s:%d)", fname, line);
   return sock;
   return sock;
 }
 }
 
 

+ 6 - 5
src/net.h

@@ -132,15 +132,16 @@ void cache_my_ip();
 void neterror(char *);
 void neterror(char *);
 void setsock(int, int);
 void setsock(int, int);
 int allocsock(int, int);
 int allocsock(int, int);
-#ifdef CYGWIN_HACKS
-#  define getsock cygwin_sucks
-#endif /* CYGWIN_HACKS */
 
 
 #ifdef USE_IPV6
 #ifdef USE_IPV6
-int getsock(int, int);
+#define getsock(opt, af) real_getsock(opt, af, __FILE__, __LINE__)
+int real_getsock(int, int, char *, int);
 #else
 #else
-int getsock(int);
+#define getsock(opt) real_getsock(opt, __FILE__, __LINE)
+int real_getsock(int, char *, int);
 #endif /* USE_IPV6 */
 #endif /* USE_IPV6 */
+
+
 int sockprotocol(int);
 int sockprotocol(int);
 int hostprotocol(char *);
 int hostprotocol(char *);
 char *hostnamefromip(unsigned long);
 char *hostnamefromip(unsigned long);