[Python-checkins] CVS: python/dist/src/Modules socketmodule.c,1.153,1.154

Martin v. L?wis loewis@users.sourceforge.net
Sun, 22 Jul 2001 18:30:12 -0700


Update of /cvsroot/python/python/dist/src/Modules
In directory usw-pr-cvs1:/tmp/cvs-serv29517/Modules

Modified Files:
	socketmodule.c 
Log Message:
Instead of accessing ss_family, cast sockaddr_storage to sockaddr and access sa_family.


Index: socketmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/socketmodule.c,v
retrieving revision 1.153
retrieving revision 1.154
diff -C2 -r1.153 -r1.154
*** socketmodule.c	2001/07/21 18:05:31	1.153
--- socketmodule.c	2001/07/23 01:30:10	1.154
***************
*** 1895,1898 ****
--- 1895,1899 ----
  	struct hostent *h;
  	struct sockaddr_storage addr;
+ 	struct sockaddr *sa;
  	PyObject *ret;
  #ifdef HAVE_GETHOSTBYNAME_R
***************
*** 1932,1936 ****
  #endif /* HAVE_GETHOSTBYNAME_R */
  	Py_END_ALLOW_THREADS
! 	ret = gethost_common(h, (struct sockaddr *)&addr, sizeof(addr), addr.ss_family);
  #ifdef USE_GETHOSTBYNAME_LOCK
  	PyThread_release_lock(gethostbyname_lock);
--- 1933,1940 ----
  #endif /* HAVE_GETHOSTBYNAME_R */
  	Py_END_ALLOW_THREADS
! 	/* Some C libraries would require addr.__ss_family instead of addr.ss_family.
!            Therefore, we cast the sockaddr_storage into sockaddr to access sa_family. */
! 	sa = (struct sockaddr*)&addr;
! 	ret = gethost_common(h, (struct sockaddr *)&addr, sizeof(addr), sa->sa_family);
  #ifdef USE_GETHOSTBYNAME_LOCK
  	PyThread_release_lock(gethostbyname_lock);