Fixes from upstream CVS for gcc-4.x. http://bugs.gentoo.org/show_bug.cgi?id=86128 --- xinetd/service.c +++ xinetd/service.c @@ -764,8 +764,8 @@ return FAILED; if ( last == NULL ) { - last = SAIN( SVC_LAST_DGRAM_ADDR(sp) ) = - SAIN( calloc( 1, sizeof(union xsockaddr) ) ); + last = SAIN( calloc( 1, sizeof(union xsockaddr) ) ); + SVC_LAST_DGRAM_ADDR(sp) = (union xsockaddr *)last; } (void) time( ¤t_time ) ; @@ -791,8 +791,8 @@ return FAILED; if( last == NULL ) { - last = SAIN6(SVC_LAST_DGRAM_ADDR(sp)) = - SAIN6(calloc( 1, sizeof(union xsockaddr) ) ); + last = SAIN6(calloc( 1, sizeof(union xsockaddr) ) ); + SVC_LAST_DGRAM_ADDR( sp ) = (union xsockaddr *)last; } (void) time( ¤t_time ) ;