Hi Alex,
At 23:02 22/01/2008, Alex Rousskov wrote:
>in_addr is a C structure without a constructor so you cannot cast an
>integer to it. The structure has a single member of uint32_t type. If
>that type is the same as DWORD, then you can do C tricks with pointers,
>converting DWORD address into in_addr address and then dereferencing it
>for comparison with the "c" object. I do not know whether those tricks
>are kosher alignment-wise.
>
>Alternatively, you can decompose the structure to initialize it, like
>the following code does. There is probably a cleaner way to do it.
>
>--- ACLARP.cc 20 Jan 2008 17:23:19 -0000 1.27
>+++ ACLARP.cc 22 Jan 2008 21:52:40 -0000
>@@ -568,7 +568,9 @@
>
> /* Find MAC address from net table */
> for (i = 0 ; i < NetTable->dwNumEntries ; i++) {
>- if ((c == (struct in_addr)NetTable->table[i].dwAddr) &&
>(NetTable->table[i].dwType > 2)) {
>+ in_addr a;
>+ a.s_addr = NetTable->table[i].dwAddr;
>+ if (c == a && (NetTable->table[i].dwType > 2)) {
> arpReq.arp_ha.sa_family = AF_UNSPEC;
> memcpy(arpReq.arp_ha.sa_data,
> NetTable->table[i].bPhysAddr, NetTable->table[i].dwPhysAddrLen);
> }
>
>HTH,
Yes, it works,
Thanks :-)
But after the commit for bug #1923 there is a new entry ....
ESIInclude.cc
..\..\..\src\ESIInclude.cc(323) : error C2248:
'HttpHeader::removeConnectionHeaderEntries' : cannot access protected
member declared in class 'HttpHeader'
c:\work\nt-3.0\src\HttpHeader.h(257) : see declaration of
'HttpHeader::removeConnectionHeaderEntries'
c:\work\nt-3.0\src\HttpHeader.h(195) : see declaration of 'HttpHeader'
Regards
Guido
-
========================================================
Guido Serassio
Acme Consulting S.r.l. - Microsoft Certified Partner
Via Lucia Savarino, 1 10098 - Rivoli (TO) - ITALY
Tel. : +39.011.9530135 Fax. : +39.011.9781115
Email: guido.serassio@acmeconsulting.it
WWW: http://www.acmeconsulting.it/
Received on Tue Jan 22 2008 - 15:30:59 MST
This archive was generated by hypermail pre-2.1.9 : Wed Jan 30 2008 - 12:00:09 MST