[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);