Index: winbindd_wins.c =================================================================== RCS file: /cvsroot/samba/source/nsswitch/winbindd_wins.c,v retrieving revision 1.13 diff -u -c -r1.13 winbindd_wins.c cvs server: conflicting specifications of output style *** winbindd_wins.c 6 Jan 2004 01:59:20 -0000 1.13 --- winbindd_wins.c 11 Feb 2004 20:50:46 -0000 *************** *** 180,186 **** struct in_addr *ip_list; int i, count, maxlen, size; fstring response; ! char * addr; /* Ensure null termination */ state->request.data.winsreq[sizeof(state->request.data.winsreq)-1]='\0'; --- 180,186 ---- struct in_addr *ip_list; int i, count, maxlen, size; fstring response; ! static fstring addr_buf; /* Ensure null termination */ state->request.data.winsreq[sizeof(state->request.data.winsreq)-1]='\0'; *************** *** 193,200 **** if ((ip_list = lookup_byname_backend(state->request.data.winsreq,&count))){ for (i = count; i ; i--) { ! addr = inet_ntoa(ip_list[i-1]); ! size = strlen(addr); if (size > maxlen) { SAFE_FREE(ip_list); return WINBINDD_ERROR; --- 193,200 ---- if ((ip_list = lookup_byname_backend(state->request.data.winsreq,&count))){ for (i = count; i ; i--) { ! fstrcpy(addr_buf,(char *)inet_ntoa(ip_list[i-1])); ! size = strlen(addr_buf); if (size > maxlen) { SAFE_FREE(ip_list); return WINBINDD_ERROR; *************** *** 203,209 **** /* Clear out the newline character */ response[strlen(response)-1] = ' '; } ! fstrcat(response,addr); fstrcat(response,"\t"); } size = strlen(state->request.data.winsreq) + strlen(response); --- 203,209 ---- /* Clear out the newline character */ response[strlen(response)-1] = ' '; } ! fstrcat(response,addr_buf); fstrcat(response,"\t"); } size = strlen(state->request.data.winsreq) + strlen(response);