Actual merge, sorry for the false alert. Merges with 13937. Modified: branches/alex_devel_branch/reactos/drivers/net/afd/afd/main.c Modified: branches/alex_devel_branch/reactos/drivers/net/afd/afd/read.c Modified: branches/alex_devel_branch/reactos/drivers/net/afd/include/afd.h Modified: branches/alex_devel_branch/reactos/include/win32k/text.h Added: branches/alex_devel_branch/reactos/lib/cpl/appwiz/Dk.rc Added: branches/alex_devel_branch/reactos/lib/cpl/appwiz/Ru.rc Modified: branches/alex_devel_branch/reactos/lib/cpl/appwiz/appwiz.rc Added: branches/alex_devel_branch/reactos/lib/cpl/control/Dk.rc Added: branches/alex_devel_branch/reactos/lib/cpl/control/Ru.rc Modified: branches/alex_devel_branch/reactos/lib/cpl/control/control.rc Added: branches/alex_devel_branch/reactos/lib/cpl/ncpa/dk.rc Added: branches/alex_devel_branch/reactos/lib/cpl/ncpa/en.rc Modified: branches/alex_devel_branch/reactos/lib/cpl/ncpa/ncpa.rc Modified: branches/alex_devel_branch/reactos/lib/cpl/sysdm/de.rc Modified: branches/alex_devel_branch/reactos/lib/cpl/sysdm/en.rc Modified: branches/alex_devel_branch/reactos/lib/cpl/sysdm/sysdm.rc Added: branches/alex_devel_branch/reactos/lib/cpl/timedate/Dk.rc Added: branches/alex_devel_branch/reactos/lib/cpl/timedate/Ru.rc Modified: branches/alex_devel_branch/reactos/lib/cpl/timedate/timedate.rc Modified: branches/alex_devel_branch/reactos/lib/kernel32/file/lock.c Modified: branches/alex_devel_branch/reactos/lib/msafd/misc/dllmain.c Modified: branches/alex_devel_branch/reactos/ntoskrnl/io/device.c Modified: branches/alex_devel_branch/reactos/subsys/win32k/ntuser/keyboard.c Modified: branches/alex_devel_branch/reactos/subsys/win32k/objects/dib.c Modified: branches/alex_devel_branch/reactos/subsys/win32k/objects/text.c Modified: branches/alex_devel_branch/reactos/tools/Makefile Added: branches/alex_devel_branch/reactos/tools/tools-check.c Added: branches/alex_devel_branch/reactos/tools/tools-check.mak Modified: branches/alex_devel_branch/reactos/tools/unicode/Makefile Modified: branches/alex_devel_branch/reactos/tools/unicode/mbtowc.c Modified: branches/alex_devel_branch/reactos/tools/unicode/string.c Modified: branches/alex_devel_branch/reactos/tools/unicode/wctomb.c Modified: branches/alex_devel_branch/reactos/tools/widl/ChangeLog Modified: branches/alex_devel_branch/reactos/tools/widl/client.c Modified: branches/alex_devel_branch/reactos/tools/widl/header.c Modified: branches/alex_devel_branch/reactos/tools/widl/server.c Modified: branches/alex_devel_branch/reactos/tools/widl/widl.c Modified: branches/alex_devel_branch/reactos/tools/widl/widl.h Added: branches/alex_devel_branch/reactos/w32api/include/winres.h _____
Modified: branches/alex_devel_branch/reactos/drivers/net/afd/afd/main.c --- branches/alex_devel_branch/reactos/drivers/net/afd/afd/main.c 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/drivers/net/afd/afd/main.c 2005-03-11 23:56:02 UTC (rev 13942) @@ -20,8 +20,8 @@
#ifdef DBG
/* See debug.h for debug/trace constants */ -//DWORD DebugTraceLevel = DEBUG_ULTRA; -DWORD DebugTraceLevel = 0; +DWORD DebugTraceLevel = DEBUG_ULTRA; +//DWORD DebugTraceLevel = 0;
#endif /* DBG */
_____
Modified: branches/alex_devel_branch/reactos/drivers/net/afd/afd/read.c --- branches/alex_devel_branch/reactos/drivers/net/afd/afd/read.c 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/drivers/net/afd/afd/read.c 2005-03-11 23:56:02 UTC (rev 13942) @@ -26,8 +26,6 @@
#include "tdiconn.h" #include "debug.h"
-static VOID ProcessClose( PAFD_FCB FCB ); - BOOLEAN CantReadMore( PAFD_FCB FCB ) { UINT BytesAvailable = FCB->Recv.Content - FCB->Recv.BytesUsed;
@@ -106,7 +104,8 @@ if( Status == STATUS_SUCCESS ) { if( !FCB->ReceiveIrp.Iosb.Information ) { AFD_DbgPrint(MID_TRACE,("Looks like an EOF\n")); - ProcessClose( FCB ); + FCB->PollState |= AFD_EVENT_DISCONNECT; + PollReeval( FCB->DeviceExt, FCB->FileObject ); } FCB->Recv.Content = FCB->ReceiveIrp.Iosb.Information; } @@ -118,66 +117,40 @@ return STATUS_SUCCESS; }
-static VOID ProcessClose( PAFD_FCB FCB ) { +NTSTATUS ReceiveActivity( PAFD_FCB FCB, PIRP Irp ) { PLIST_ENTRY NextIrpEntry; PIRP NextIrp; - - AFD_DbgPrint(MID_TRACE,("Socket shutdown from remote side\n")); - - /* Kill remaining recv irps */ - while( !IsListEmpty( &FCB->PendingIrpList[FUNCTION_RECV] ) ) { - NextIrpEntry = - RemoveHeadList(&FCB->PendingIrpList[FUNCTION_RECV]); - NextIrp = - CONTAINING_RECORD(NextIrpEntry, IRP, Tail.Overlay.ListEntry); - AFD_DbgPrint(MID_TRACE,("Completing recv %x (%x)\n", - NextIrp, STATUS_END_OF_FILE)); - NextIrp->IoStatus.Status = STATUS_SUCCESS; - NextIrp->IoStatus.Information = 0; - IoCompleteRequest( NextIrp, IO_NETWORK_INCREMENT ); - } - - /* Handle closing signal */ - FCB->PollState |= AFD_EVENT_DISCONNECT | SOCKET_STATE_EOF_READ; - - PollReeval( FCB->DeviceExt, FCB->FileObject ); -} - -NTSTATUS DDKAPI ReceiveComplete -( PDEVICE_OBJECT DeviceObject, - PIRP Irp, - PVOID Context ) { - NTSTATUS Status = Irp->IoStatus.Status; - PAFD_FCB FCB = (PAFD_FCB)Context; - PLIST_ENTRY NextIrpEntry; - PIRP NextIrp; PIO_STACK_LOCATION NextIrpSp; PAFD_RECV_INFO RecvReq; UINT TotalBytesCopied = 0; + NTSTATUS Status = STATUS_SUCCESS, RetStatus = STATUS_PENDING;
- AFD_DbgPrint(MID_TRACE,("Called\n")); + AFD_DbgPrint(MID_TRACE,("%x %x\n", FCB, Irp));
- ASSERT_IRQL(APC_LEVEL); - - if( !SocketAcquireStateLock( FCB ) ) return Status; - - FCB->ReceiveIrp.InFlightRequest = NULL; - FCB->Recv.Content = Irp->IoStatus.Information; - FCB->Recv.BytesUsed = 0; - - if( FCB->State == SOCKET_STATE_CLOSED ) { - AFD_DbgPrint(MIN_TRACE,("!!! CLOSED SOCK GOT A RECEIVE COMPLETE !!!\n")); - SocketStateUnlock( FCB ); - DestroySocket( FCB ); - return STATUS_SUCCESS; - } else if( FCB->State == SOCKET_STATE_LISTENING ) { - AFD_DbgPrint(MIN_TRACE,("!!! LISTENER GOT A RECEIVE COMPLETE !!!\n")); - SocketStateUnlock( FCB ); - return STATUS_UNSUCCESSFUL; - } - - if( NT_SUCCESS(Irp->IoStatus.Status) && - Irp->IoStatus.Information ) { + if( CantReadMore( FCB ) ) { + /* Success here means that we got an EOF. Complete a pending read + * with zero bytes if we haven't yet overread, then kill the others. + */ + while( !IsListEmpty( &FCB->PendingIrpList[FUNCTION_RECV] ) ) { + NextIrpEntry = + RemoveHeadList(&FCB->PendingIrpList[FUNCTION_RECV]); + NextIrp = + CONTAINING_RECORD(NextIrpEntry, IRP, Tail.Overlay.ListEntry); + NextIrpSp = IoGetCurrentIrpStackLocation( NextIrp ); + RecvReq = NextIrpSp->Parameters.DeviceIoControl.Type3InputBuffer; + + AFD_DbgPrint(MID_TRACE,("Completing recv %x (%d)\n", NextIrp, + TotalBytesCopied)); + UnlockBuffers( RecvReq->BufferArray, + RecvReq->BufferCount, FALSE ); + Status = NextIrp->IoStatus.Status = + FCB->Overread ? STATUS_END_OF_FILE : STATUS_SUCCESS; + NextIrp->IoStatus.Information = 0; + if( NextIrp == Irp ) RetStatus = Status; + IoCompleteRequest( NextIrp, IO_NETWORK_INCREMENT ); + FCB->Overread = TRUE; + } + } else { /* Kick the user that receive would be possible now */ /* XXX Not implemented yet */
@@ -214,31 +187,10 @@ RecvReq->BufferCount, FALSE ); NextIrp->IoStatus.Status = Status; NextIrp->IoStatus.Information = TotalBytesCopied; + if( NextIrp == Irp ) RetStatus = Status; IoCompleteRequest( NextIrp, IO_NETWORK_INCREMENT ); } } - - Status = STATUS_SUCCESS; - } else { - /* Success here means that we got an EOF. Close all pending reads - * with EOF. Data won't have been available before. */ - while( !IsListEmpty( &FCB->PendingIrpList[FUNCTION_RECV] ) ) { - NextIrpEntry = - RemoveHeadList(&FCB->PendingIrpList[FUNCTION_RECV]); - NextIrp = - CONTAINING_RECORD(NextIrpEntry, IRP, Tail.Overlay.ListEntry); - NextIrpSp = IoGetCurrentIrpStackLocation( NextIrp ); - RecvReq = NextIrpSp->Parameters.DeviceIoControl.Type3InputBuffer; - - AFD_DbgPrint(MID_TRACE,("Completing recv %x (%d)\n", NextIrp, - TotalBytesCopied)); - UnlockBuffers( RecvReq->BufferArray, - RecvReq->BufferCount, FALSE ); - NextIrp->IoStatus.Status = Status; - NextIrp->IoStatus.Information = 0; - IoCompleteRequest( NextIrp, IO_NETWORK_INCREMENT ); - } - ProcessClose( FCB ); }
if( FCB->Recv.Content ) { @@ -248,10 +200,53 @@
PollReeval( FCB->DeviceExt, FCB->FileObject );
- SocketStateUnlock( FCB ); + AFD_DbgPrint(MID_TRACE,("RetStatus for irp %x is %x\n", Irp, RetStatus));
- if( Status == STATUS_PENDING ) Status = STATUS_SUCCESS; + return RetStatus; +}
+NTSTATUS DDKAPI ReceiveComplete +( PDEVICE_OBJECT DeviceObject, + PIRP Irp, + PVOID Context ) { + NTSTATUS Status = Irp->IoStatus.Status; + PAFD_FCB FCB = (PAFD_FCB)Context; + + AFD_DbgPrint(MID_TRACE,("Called\n")); + + ASSERT_IRQL(APC_LEVEL); + + if( !SocketAcquireStateLock( FCB ) ) return Status; + + FCB->ReceiveIrp.InFlightRequest = NULL; + FCB->Recv.Content = Irp->IoStatus.Information; + FCB->Recv.BytesUsed = 0; + + if( FCB->State == SOCKET_STATE_CLOSED ) { + AFD_DbgPrint(MIN_TRACE,("!!! CLOSED SOCK GOT A RECEIVE COMPLETE !!!\n")); + SocketStateUnlock( FCB ); + DestroySocket( FCB ); + return STATUS_SUCCESS; + } else if( FCB->State == SOCKET_STATE_LISTENING ) { + AFD_DbgPrint(MIN_TRACE,("!!! LISTENER GOT A RECEIVE COMPLETE !!!\n")); + SocketStateUnlock( FCB ); + return STATUS_UNSUCCESSFUL; + } + + Status = FCB->ReceiveIrp.Iosb.Status; + + if( Irp->IoStatus.Status == STATUS_SUCCESS && + Irp->IoStatus.Information == 0 ) { + AFD_DbgPrint(MID_TRACE,("Looks like an EOF\n")); + FCB->PollState |= AFD_EVENT_DISCONNECT; + } + + ReceiveActivity( FCB, NULL ); + + PollReeval( FCB->DeviceExt, FCB->FileObject ); + + SocketStateUnlock( FCB ); + AFD_DbgPrint(MID_TRACE,("Returned %x\n", Status));
return Status; @@ -274,7 +269,8 @@ FCB->State != SOCKET_STATE_CONNECTING ) { AFD_DbgPrint(MID_TRACE,("Called recv on wrong kind of socket (s%x)\n", FCB->State)); - return STATUS_UNSUCCESSFUL; + return UnlockAndMaybeComplete( FCB, STATUS_UNSUCCESSFUL, + Irp, 0, NULL, FALSE ); }
if( FCB->Flags & AFD_ENDPOINT_CONNECTIONLESS ) @@ -291,57 +287,40 @@ return UnlockAndMaybeComplete( FCB, STATUS_NO_MEMORY, Irp, 0, NULL, FALSE );
+ AFD_DbgPrint(MID_TRACE,("Recv flags %x\n", RecvReq->AfdFlags)); + RecvReq->BufferArray = LockBuffers( RecvReq->BufferArray, RecvReq->BufferCount, NULL, NULL, TRUE, FALSE );
- /* Check if we're not closed down yet */ + Irp->IoStatus.Status = STATUS_PENDING; + Irp->IoStatus.Information = 0;
- if( !CantReadMore(FCB) ) { - AFD_DbgPrint(MID_TRACE,("Not EOF yet\n")); - if( FCB->ReceiveIrp.InFlightRequest ) { - AFD_DbgPrint(MID_TRACE,("We're waiting on a previous irp\n")); - Status = STATUS_PENDING; - } else { - AFD_DbgPrint(MID_TRACE,("The buffer is likely not empty\n")); - Status = STATUS_SUCCESS; - } - } else { - if( FCB->PollState & SOCKET_STATE_EOF_READ ) - Status = STATUS_END_OF_FILE; - else - Status = STATUS_SUCCESS; - - AFD_DbgPrint(MID_TRACE,("EOF Happened already\n")); - FCB->Recv.Content = 0; - FCB->Recv.BytesUsed = 0; + InsertTailList( &FCB->PendingIrpList[FUNCTION_RECV], + &Irp->Tail.Overlay.ListEntry );
- ProcessClose( FCB ); + /************ From this point, the IRP is not ours ************/
- return UnlockAndMaybeComplete - ( FCB, Status, Irp, 0, NULL, FALSE); - } - - if( NT_SUCCESS(Status) ) { - AFD_DbgPrint(MID_TRACE,("TryToSatisfy\n")); - Status = TryToSatisfyRecvRequestFromBuffer - ( FCB, RecvReq, &TotalBytesCopied ); - } + Status = ReceiveActivity( FCB, Irp );
- if( Status != STATUS_PENDING || RecvReq->AfdFlags & AFD_IMMEDIATE ) { - if( Status == STATUS_PENDING ) { - AFD_DbgPrint(MID_TRACE,("Nonblocking\n")); - Status = STATUS_CANT_WAIT; - TotalBytesCopied = 0; - } - UnlockBuffers( RecvReq->BufferArray, RecvReq->BufferCount, FALSE ); - return UnlockAndMaybeComplete( FCB, Status, Irp, - TotalBytesCopied, NULL, TRUE ); - } else { + if( Status == STATUS_PENDING && RecvReq->AfdFlags & AFD_IMMEDIATE ) { + AFD_DbgPrint(MID_TRACE,("Nonblocking\n")); + Status = STATUS_CANT_WAIT; + TotalBytesCopied = 0; + RemoveEntryList( &Irp->Tail.Overlay.ListEntry ); + UnlockBuffers( RecvReq->BufferArray, RecvReq->BufferCount, FALSE ); + return UnlockAndMaybeComplete( FCB, Status, Irp, + TotalBytesCopied, NULL, TRUE ); + } else if( Status == STATUS_PENDING ) { AFD_DbgPrint(MID_TRACE,("Leaving read irp\n")); - return LeaveIrpUntilLater( FCB, Irp, FUNCTION_RECV ); + IoMarkIrpPending( Irp ); + } else { + AFD_DbgPrint(MID_TRACE,("Completed with status %x\n", Status)); } + + SocketStateUnlock( FCB ); + return Status; }
_____
Modified: branches/alex_devel_branch/reactos/drivers/net/afd/include/afd.h --- branches/alex_devel_branch/reactos/drivers/net/afd/include/afd.h 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/drivers/net/afd/include/afd.h 2005-03-11 23:56:02 UTC (rev 13942) @@ -132,7 +132,7 @@
} AFD_STORED_DATAGRAM, *PAFD_STORED_DATAGRAM;
typedef struct _AFD_FCB { - BOOLEAN Locked, Critical; + BOOLEAN Locked, Critical, Overread; UINT State, Flags; KIRQL OldIrql; UINT LockCount; _____
Modified: branches/alex_devel_branch/reactos/include/win32k/text.h --- branches/alex_devel_branch/reactos/include/win32k/text.h 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/include/win32k/text.h 2005-03-11 23:56:02 UTC (rev 13942) @@ -7,6 +7,7 @@
{ LOGFONTW logfont; FONTOBJ *Font; + BOOLEAN Initialized; /* Don't reinitialize for each DC */ } TEXTOBJ, *PTEXTOBJ;
/* Internal interface */ _____
Copied: branches/alex_devel_branch/reactos/lib/cpl/appwiz/Dk.rc (from rev 13936, trunk/reactos/lib/cpl/appwiz/Dk.rc) Property changes on: branches/alex_devel_branch/reactos/lib/cpl/appwiz/Dk.rc ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native _____
Copied: branches/alex_devel_branch/reactos/lib/cpl/appwiz/Ru.rc (from rev 13936, trunk/reactos/lib/cpl/appwiz/Ru.rc) _____
Modified: branches/alex_devel_branch/reactos/lib/cpl/appwiz/appwiz.rc --- branches/alex_devel_branch/reactos/lib/cpl/appwiz/appwiz.rc 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/lib/cpl/appwiz/appwiz.rc 2005-03-11 23:56:02 UTC (rev 13942) @@ -27,3 +27,6 @@
#include "En.rc" #include "De.rc" +#include "Dk.rc" +#include "Ru.rc" + _____
Copied: branches/alex_devel_branch/reactos/lib/cpl/control/Dk.rc (from rev 13936, trunk/reactos/lib/cpl/control/Dk.rc) Property changes on: branches/alex_devel_branch/reactos/lib/cpl/control/Dk.rc ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native _____
Copied: branches/alex_devel_branch/reactos/lib/cpl/control/Ru.rc (from rev 13936, trunk/reactos/lib/cpl/control/Ru.rc) _____
Modified: branches/alex_devel_branch/reactos/lib/cpl/control/control.rc --- branches/alex_devel_branch/reactos/lib/cpl/control/control.rc 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/lib/cpl/control/control.rc 2005-03-11 23:56:02 UTC (rev 13942) @@ -17,9 +17,7 @@
#include <../../../include/reactos/version.rc> #endif
-LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
-
//////////////////////////////////////////////////////////////////////// ///// // // Icon @@ -39,7 +37,5 @@
#include "En.rc" #include "De.rc" - - - - +#include "Dk.rc" +#include "Ru.rc" _____
Copied: branches/alex_devel_branch/reactos/lib/cpl/ncpa/dk.rc (from rev 13936, trunk/reactos/lib/cpl/ncpa/dk.rc) Property changes on: branches/alex_devel_branch/reactos/lib/cpl/ncpa/dk.rc ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native _____
Copied: branches/alex_devel_branch/reactos/lib/cpl/ncpa/en.rc (from rev 13936, trunk/reactos/lib/cpl/ncpa/en.rc) Property changes on: branches/alex_devel_branch/reactos/lib/cpl/ncpa/en.rc ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native _____
Modified: branches/alex_devel_branch/reactos/lib/cpl/ncpa/ncpa.rc --- branches/alex_devel_branch/reactos/lib/cpl/ncpa/ncpa.rc 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/lib/cpl/ncpa/ncpa.rc 2005-03-11 23:56:02 UTC (rev 13942) @@ -17,95 +17,10 @@
#include <reactos/version.rc> #endif
-LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT - IDI_CPLSYSTEM ICON "resources/applet.ico" IDI_HORIZONTAL ICON "resources/HORIZ.ICO" IDI_VERTICAL ICON "resources/VERTIC.ICO" IDI_NETSTAT ICON "resources/NETCONN.ICO"
-IDD_PROPPAGENETWORK DIALOG DISCARDABLE 0, 0, 246, 228 -STYLE DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN - LTEXT "Network Adapters",-1,9,9,217,8 - LISTBOX IDC_NETCARDLIST,9,21,229,73,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Add",IDC_ADD,9,100,60,14 - PUSHBUTTON "&Remove",IDC_REMOVE,72,100,60,14 - PUSHBUTTON "&Properties",IDC_PROPERTIES,179,100,60,14 -END - -IDD_NETPROPERTIES DIALOG DISCARDABLE 0, 0, 246, 228 -STYLE DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "General" -FONT 8, "MS Shell Dlg" -BEGIN - LTEXT "Connect Using:", -1, 9,9,217,8 - EDITTEXT IDC_NETCARDNAME, 9, 21, 230, 12, WS_DISABLED | WS_BORDER | WS_TABSTOP - PUSHBUTTON "&Configure", IDC_CONFIGURE, 189, 38, 50, 14 - LTEXT "Components checked are used by this connection:", -1, 9, 59, 217, 8 - LISTBOX IDC_COMPONENTSLIST, 9, 71, 230, 67, LBS_STANDARD - PUSHBUTTON "&Install", IDC_INSTALL, 9, 130, 65, 14, WS_DISABLED | WS_TABSTOP - PUSHBUTTON "&Uninstall", IDC_UNINSTALL, 90, 130, 65, 14, WS_DISABLED | WS_TABSTOP - PUSHBUTTON "&Properties", IDC_PROPERTIES, 174, 130, 65, 14 - GROUPBOX "Description", -1, 9, 153, 230, 46, BS_GROUPBOX - LTEXT "Component Description goes here...", IDC_DESCRIPTION, 15, 165, 217, 28, WS_GROUP - CHECKBOX "Show Icon in taskbar when connected", IDC_SHOWTASKBAR, 9, 206, 230, 12, BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP -END - - -IDD_CARDPROPERTIES DIALOG DISCARDABLE 0, 0, 200,180 -STYLE DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "General" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Connection", -1, 9, 8, 182, 58, BS_GROUPBOX - LTEXT "Status:", -1, 19, 20, 60, 8 - LTEXT "Duration:", -1, 19, 34, 60, 8 - LTEXT "Speed:", -1, 19, 48, 60, 8 - GROUPBOX "Activity", -1, 9, 74, 182, 70, BS_GROUPBOX - RTEXT "Sent", -1, 26, 90, 60, 8 - ICON IDI_HORIZONTAL, -1, 90, 85, 18, 20 - ICON IDI_NETSTAT, -1, 110, 85, 18, 20 - ICON IDI_HORIZONTAL, -1, 130, 85, 18, 20 - LTEXT "Received", -1, 149, 90, 37, 8 - LTEXT "Packets:", -1, 17, 115, 32, 8 - RTEXT "000.000.000", IDC_SEND, 63, 115, 44, 8 - ICON IDI_VERTICAL, -1, 110, 108, 18, 20 - RTEXT "000.000.000", IDC_RECEIVED, 139, 115, 44, 8 - PUSHBUTTON "&Properties", IDC_PROPERTIES, 10, 150, 50, 14 - PUSHBUTTON "&Disable", IDC_ENDISABLE, 66, 150, 50, 14 -END - -IDD_TCPIPPROPERTIES DIALOG DISCARDABLE 0, 0, 246, 228 -STYLE DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "General" -FONT 8, "MS Shell Dlg" -BEGIN - LTEXT "You can get IP settings assigned automatically if your network supports this capability. Otherwise, you need to ask your network administrator for the appropriate IP settings.", -1, 9, 9, 228, 27 - CONTROL "Obtain the IP address automatically", IDC_USEDHCP, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP, 14, 43, 210, 12 - GROUPBOX "", -1, 9, 61, 228, 70, BS_GROUPBOX - CONTROL "&Use the following IP address:", IDC_NODHCP, "BUTTON", BS_AUTORADIOBUTTON, 14, 59, 105, 12 - LTEXT "IP address:", -1, 14, 75, 135, 8 - CONTROL "",IDC_IPADDR,"SysIPAddress32",0,150,75-2,80,12 - LTEXT "Subnet mask:", -1, 14, 90, 135, 8 - CONTROL "",IDC_SUBNETMASK,"SysIPAddress32",0,150,90-2,80,12 - LTEXT "Default gateway:", -1, 14, 105, 135, 8 - CONTROL "",IDC_DEFGATEWAY,"SysIPAddress32",0,150,105-2,80,12 - CONTROL "Obtain the DNS server address automatically", IDC_AUTODNS, "BUTTON", BS_AUTORADIOBUTTON | WS_GROUP, 14, 139, 210, 12 - GROUPBOX "", -1, 9, 157, 228, 47, BS_GROUPBOX - CONTROL "&Use the following DNS server addresses", IDC_FIXEDDNS, "BUTTON", BS_AUTORADIOBUTTON, 14, 155, 142, 12 - LTEXT "Preferred DNS server:", -1, 14, 171, 135, 8 - CONTROL "",IDC_DNS1,"SysIPAddress32",0,150,171-2,80,12 - LTEXT "Alternate DNS server:", -1, 14, 186, 135, 8 - CONTROL "",IDC_DNS2,"SysIPAddress32",0,150,186-2,80,12 - PUSHBUTTON "&Advanced", IDC_ADVANCED, 186, 209, 50, 14, WS_DISABLED | WS_TABSTOP -} - - -STRINGTABLE -BEGIN - IDS_CPLSYSTEMNAME "Network Properties" - IDS_CPLSYSTEMDESCRIPTION "Customizes network settings." -END +#include "en.rc" +#include "dk.rc" _____
Modified: branches/alex_devel_branch/reactos/lib/cpl/sysdm/de.rc --- branches/alex_devel_branch/reactos/lib/cpl/sysdm/de.rc 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/lib/cpl/sysdm/de.rc 2005-03-11 23:56:02 UTC (rev 13942) @@ -1,9 +1,5 @@
LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
-IDI_CPLSYSTEM ICON "resources/applet.ico" -IDI_DEVMGR ICON "resources/devmgr.ico" -RC_LICENSE RTDATA "resources/gpl.txt" - IDD_PROPPAGEGENERAL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Allgemein" _____
Modified: branches/alex_devel_branch/reactos/lib/cpl/sysdm/en.rc --- branches/alex_devel_branch/reactos/lib/cpl/sysdm/en.rc 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/lib/cpl/sysdm/en.rc 2005-03-11 23:56:02 UTC (rev 13942) @@ -1,7 +1,5 @@
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
-IDI_CPLSYSTEM ICON "resources/applet.ico" -IDI_DEVMGR ICON "resources/devmgr.ico" RC_LICENSE RTDATA "resources/gpl.txt"
IDD_PROPPAGEGENERAL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT _____
Modified: branches/alex_devel_branch/reactos/lib/cpl/sysdm/sysdm.rc --- branches/alex_devel_branch/reactos/lib/cpl/sysdm/sysdm.rc 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/lib/cpl/sysdm/sysdm.rc 2005-03-11 23:56:02 UTC (rev 13942) @@ -14,7 +14,9 @@
#define REACTOS_STR_ORIGINAL_FILENAME "sysdm.cpl\0" #include <reactos/version.rc>
+IDI_CPLSYSTEM ICON "resources/applet.ico" +IDI_DEVMGR ICON "resources/devmgr.ico"
#include "en.rc" #include "de.rc" - +#include "dk.rc" _____
Copied: branches/alex_devel_branch/reactos/lib/cpl/timedate/Dk.rc (from rev 13936, trunk/reactos/lib/cpl/timedate/Dk.rc) Property changes on: branches/alex_devel_branch/reactos/lib/cpl/timedate/Dk.rc ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native _____
Copied: branches/alex_devel_branch/reactos/lib/cpl/timedate/Ru.rc (from rev 13936, trunk/reactos/lib/cpl/timedate/Ru.rc) _____
Modified: branches/alex_devel_branch/reactos/lib/cpl/timedate/timedate.rc --- branches/alex_devel_branch/reactos/lib/cpl/timedate/timedate.rc 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/lib/cpl/timedate/timedate.rc 2005-03-11 23:56:02 UTC (rev 13942) @@ -19,5 +19,7 @@
#include "En.rc" #include "De.rc" +#include "Dk.rc" #include "Es.rc" #include "Fr.rc" +#include "Ru.rc" _____
Modified: branches/alex_devel_branch/reactos/lib/kernel32/file/lock.c --- branches/alex_devel_branch/reactos/lib/kernel32/file/lock.c 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/lib/kernel32/file/lock.c 2005-03-11 23:56:02 UTC (rev 13942) @@ -39,6 +39,7 @@
Overlapped.Offset = dwFileOffsetLow; Overlapped.OffsetHigh = dwFileOffsetHigh; + Overlapped.hEvent = NULL; dwReserved = 0;
return LockFileEx(hFile, LOCKFILE_FAIL_IMMEDIATELY|LOCKFILE_EXCLUSIVE_LOCK,dwReserved,nNumberOfBy tesToLockLow, nNumberOfBytesToLockHigh, &Overlapped ) ; @@ -57,7 +58,7 @@ DWORD dwReserved, DWORD nNumberOfBytesToLockLow, DWORD nNumberOfBytesToLockHigh, - LPOVERLAPPED lpOverlapped + LPOVERLAPPED lpOverlapped /* required! */ ) { LARGE_INTEGER BytesToLock; @@ -66,7 +67,7 @@ NTSTATUS errCode; LARGE_INTEGER Offset;
- if(dwReserved != 0) + if(dwReserved != 0 || lpOverlapped==NULL) { SetLastError(ERROR_INVALID_PARAMETER); return FALSE; @@ -91,9 +92,9 @@ BytesToLock.u.HighPart = nNumberOfBytesToLockHigh;
errCode = NtLockFile(hFile, + lpOverlapped->hEvent, NULL, NULL, - NULL, (PIO_STATUS_BLOCK)lpOverlapped, &Offset, &BytesToLock, @@ -124,13 +125,13 @@ DWORD nNumberOfBytesToUnlockHigh ) { - DWORD dwReserved; OVERLAPPED Overlapped; + DWORD dwReserved; Overlapped.Offset = dwFileOffsetLow; Overlapped.OffsetHigh = dwFileOffsetHigh; - dwReserved = 0; - return UnlockFileEx(hFile, dwReserved, nNumberOfBytesToUnlockLow, nNumberOfBytesToUnlockHigh, &Overlapped); - + dwReserved = 0; + + return UnlockFileEx(hFile, dwReserved, nNumberOfBytesToUnlockLow, nNumberOfBytesToUnlockHigh, &Overlapped); }
@@ -144,23 +145,18 @@ DWORD dwReserved, DWORD nNumberOfBytesToUnLockLow, DWORD nNumberOfBytesToUnLockHigh, - LPOVERLAPPED lpOverlapped + LPOVERLAPPED lpOverlapped /* required! */ ) { LARGE_INTEGER BytesToUnLock; LARGE_INTEGER StartAddress; NTSTATUS errCode;
- if(dwReserved != 0) + if(dwReserved != 0 || lpOverlapped == NULL) { SetLastError(ERROR_INVALID_PARAMETER); return FALSE; } - if ( lpOverlapped == NULL ) - { - SetLastError(ERROR_INVALID_PARAMETER); - return FALSE; - }
BytesToUnLock.u.LowPart = nNumberOfBytesToUnLockLow; BytesToUnLock.u.HighPart = nNumberOfBytesToUnLockHigh; _____
Modified: branches/alex_devel_branch/reactos/lib/msafd/misc/dllmain.c --- branches/alex_devel_branch/reactos/lib/msafd/misc/dllmain.c 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/lib/msafd/misc/dllmain.c 2005-03-11 23:56:02 UTC (rev 13942) @@ -1285,6 +1285,7 @@
RtlCopyMemory (Name->sa_data,
SocketAddress->Address[0].Address,
SocketAddress->Address[0].AddressLength); + *NameLength = 2 + SocketAddress->Address[0].AddressLength; HeapFree(GlobalHeap, 0, TdiAddress); return 0; } else { _____
Modified: branches/alex_devel_branch/reactos/ntoskrnl/io/device.c --- branches/alex_devel_branch/reactos/ntoskrnl/io/device.c 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/ntoskrnl/io/device.c 2005-03-11 23:56:02 UTC (rev 13942) @@ -124,7 +124,7 @@
ObjectBody, Parent, RemainingPath);
if (RemainingPath != NULL && wcschr(RemainingPath + 1, '\') != NULL) - return STATUS_UNSUCCESSFUL; + return STATUS_OBJECT_PATH_NOT_FOUND;
return STATUS_SUCCESS; } @@ -166,8 +166,11 @@ OUT PDEVICE_OBJECT *AttachedToDeviceObject ) { - UNIMPLEMENTED; - return STATUS_NOT_IMPLEMENTED; + /* FIXME: IoAttachDeviceToDeviceStackSafe must not call + * IoAttachDeviceToDeviceStack, but the other way around! */ + DPRINT1("IoAttachDeviceToDeviceStackSafe() badly implemented!\n"); + *AttachedToDeviceObject = IoAttachDeviceToDeviceStack(SourceDevice, TargetDevice); + return STATUS_SUCCESS; }
/* _____
Modified: branches/alex_devel_branch/reactos/subsys/win32k/ntuser/keyboard.c --- branches/alex_devel_branch/reactos/subsys/win32k/ntuser/keyboard.c 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/subsys/win32k/ntuser/keyboard.c 2005-03-11 23:56:02 UTC (rev 13942) @@ -216,7 +216,7 @@
PVK_TO_WCHAR_TABLE vtwTbl; PVK_TO_WCHARS10 vkPtr; size_t size_this_entry; - int nMod, shift; + int nMod; DWORD CapsMod = 0, CapsState = 0;
CapsState = ModBits & ~MOD_BITS_MASK; @@ -228,8 +228,6 @@ { return FALSE; } - shift = keyLayout->pCharModifiers->ModNumber[ModBits]; - for (nMod = 0; keyLayout->pVkToWcharTable[nMod].nModifications; nMod++) { vtwTbl = &keyLayout->pVkToWcharTable[nMod]; @@ -239,9 +237,10 @@ { if( wVirtKey == (vkPtr->VirtualKey & 0xff) ) { - CapsMod = - shift | ((CapsState & CAPITAL_BIT) ? vkPtr->Attributes : 0); - + CapsMod = keyLayout->pCharModifiers->ModNumber + [ModBits ^ + ((CapsState & CAPITAL_BIT) ? vkPtr->Attributes : 0)]; + if( CapsMod > keyLayout->pVkToWcharTable[nMod].nModifications ) { DWORD MaxBit = 1; while( MaxBit < @@ -256,9 +255,9 @@ *pbLigature = vkPtr->wch[CapsMod] == WCH_LGTR; *pwcTranslatedChar = vkPtr->wch[CapsMod]; - DPRINT("%d %04x: CapsMod %08x CapsState %08x shift %08x Char %04x\n", + DPRINT("%d %04x: CapsMod %08x CapsState %08x Char %04x\n", nMod, wVirtKey, - CapsMod, CapsState, shift, *pwcTranslatedChar); + CapsMod, CapsState, *pwcTranslatedChar);
if( *pbDead ) { @@ -269,7 +268,7 @@ DPRINT( "VK: %04x, ADDR: %08x\n", wVirtKey, (int)vkPtr ); return FALSE; } - *pwcTranslatedChar = vkPtr->wch[shift]; + *pwcTranslatedChar = vkPtr->wch[CapsMod]; } return TRUE; } _____
Modified: branches/alex_devel_branch/reactos/subsys/win32k/objects/dib.c --- branches/alex_devel_branch/reactos/subsys/win32k/objects/dib.c 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/subsys/win32k/objects/dib.c 2005-03-11 23:56:02 UTC (rev 13942) @@ -883,8 +883,15 @@
if(bi->biBitCount == 4) { Entries = 16; } else if(bi->biBitCount == 8) { Entries = 256; }
- bmp->ColorMap = ExAllocatePoolWithTag(PagedPool, sizeof(RGBQUAD)*Entries, TAG_COLORMAP); - RtlCopyMemory(bmp->ColorMap, bmi->bmiColors, sizeof(RGBQUAD)*Entries); + if (Entries) + { + bmp->ColorMap = ExAllocatePoolWithTag(PagedPool, sizeof(RGBQUAD)*Entries, TAG_COLORMAP); + RtlCopyMemory(bmp->ColorMap, bmi->bmiColors, sizeof(RGBQUAD)*Entries); + } + else + { + bmp->ColorMap = NULL; + } }
// Clean up in case of errors _____
Modified: branches/alex_devel_branch/reactos/subsys/win32k/objects/text.c --- branches/alex_devel_branch/reactos/subsys/win32k/objects/text.c 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/subsys/win32k/objects/text.c 2005-03-11 23:56:02 UTC (rev 13942) @@ -2971,6 +2971,12 @@
return STATUS_INVALID_HANDLE; }
+ if (TextObj->Initialized) + { + TEXTOBJ_UnlockText(FontHandle); + return STATUS_SUCCESS; + } + if (! RtlCreateUnicodeString(&FaceName, TextObj->logfont.lfFaceName)) { TEXTOBJ_UnlockText(FontHandle); @@ -3003,6 +3009,7 @@ } else { + TextObj->Initialized = TRUE; Status = STATUS_SUCCESS; }
_____
Modified: branches/alex_devel_branch/reactos/tools/Makefile --- branches/alex_devel_branch/reactos/tools/Makefile 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/tools/Makefile 2005-03-11 23:56:02 UTC (rev 13942) @@ -18,12 +18,15 @@
LIBS = lib_unicode lib_wpp
-CLEAN_FILES = $(TOOLS) +CLEAN_FILES = $(TOOLS) tools-check.tmp tools-check.h
-all: $(TOOLS) $(LIBS) zlib_target wmc_target cabman_target cdmake_target mkhive_target rgenstat_target \ +all: $(TOOLS) tools_check $(LIBS) zlib_target wmc_target cabman_target cdmake_target mkhive_target rgenstat_target \ wine2ros_target pipetools_target winebuild_target bin2res_target wrc_target widl_target \ buildno_target
+tools_check: + $(MAKE) -f tools-check.mak + regtests$(EXE_POSTFIX): regtests.c @$(HOST_CC) $(CFLAGS) -o regtests$(EXE_POSTFIX) regtests.c
_____
Copied: branches/alex_devel_branch/reactos/tools/tools-check.c (from rev 13936, trunk/reactos/tools/tools-check.c) _____
Copied: branches/alex_devel_branch/reactos/tools/tools-check.mak (from rev 13936, trunk/reactos/tools/tools-check.mak) _____
Modified: branches/alex_devel_branch/reactos/tools/unicode/Makefile --- branches/alex_devel_branch/reactos/tools/unicode/Makefile 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/tools/unicode/Makefile 2005-03-11 23:56:02 UTC (rev 13942) @@ -8,7 +8,7 @@
TARGET_CFLAGS = -D__USE_W32API -DWINVER=0x501 -DWINE_UNICODE_API= \ -Dwchar_t="unsigned short" -D_WCHAR_T_DEFINED \ - -I$(PATH_TO_TOP)/include/wine + -I$(PATH_TO_TOP)/include/wine -Wall -Werror
CODEPAGES = \ 037 \ _____
Modified: branches/alex_devel_branch/reactos/tools/unicode/mbtowc.c --- branches/alex_devel_branch/reactos/tools/unicode/mbtowc.c 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/tools/unicode/mbtowc.c 2005-03-11 23:56:02 UTC (rev 13942) @@ -22,6 +22,8 @@
#include "wine/unicode.h"
+typedef unsigned char uchar; + /* get the decomposition of a Unicode char */ int get_decomposition( WCHAR src, WCHAR *dst, unsigned int dstlen ) { @@ -256,25 +258,25 @@ { if (flags & MB_ERR_INVALID_CHARS) { - if (check_invalid_chars_sbcs( &table->sbcs, src, srclen )) return -2; + if (check_invalid_chars_sbcs( &table->sbcs, (const uchar*)src, srclen )) return -2; } if (!(flags & MB_COMPOSITE)) { if (!dstlen) return srclen; - return mbstowcs_sbcs( &table->sbcs, src, srclen, dst, dstlen ); + return mbstowcs_sbcs( &table->sbcs, (const uchar*)src, srclen, dst, dstlen ); } - return mbstowcs_sbcs_decompose( &table->sbcs, src, srclen, dst, dstlen ); + return mbstowcs_sbcs_decompose( &table->sbcs, (const uchar*)src, srclen, dst, dstlen ); } else /* mbcs */ { if (flags & MB_ERR_INVALID_CHARS) { - if (check_invalid_chars_dbcs( &table->dbcs, src, srclen )) return -2; + if (check_invalid_chars_dbcs( &table->dbcs, (const uchar*)src, srclen )) return -2; } if (!(flags & MB_COMPOSITE)) - return mbstowcs_dbcs( &table->dbcs, src, srclen, dst, dstlen ); + return mbstowcs_dbcs( &table->dbcs, (const uchar*)src, srclen, dst, dstlen ); else - return mbstowcs_dbcs_decompose( &table->dbcs, src, srclen, dst, dstlen ); + return mbstowcs_dbcs_decompose( &table->dbcs, (const uchar*)src, srclen, dst, dstlen ); } }
_____
Modified: branches/alex_devel_branch/reactos/tools/unicode/string.c --- branches/alex_devel_branch/reactos/tools/unicode/string.c 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/tools/unicode/string.c 2005-03-11 23:56:02 UTC (rev 13942) @@ -20,6 +20,7 @@
#include <limits.h> #include <stdio.h> +#include <ctype.h>
#include "wine/unicode.h"
_____
Modified: branches/alex_devel_branch/reactos/tools/unicode/wctomb.c --- branches/alex_devel_branch/reactos/tools/unicode/wctomb.c 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/tools/unicode/wctomb.c 2005-03-11 23:56:02 UTC (rev 13942) @@ -196,7 +196,7 @@
int tmp; WCHAR composed;
- if (!defchar) defchar = &table_default; + if (!defchar) defchar = (const char*)&table_default; if (!used) used = &tmp; /* avoid checking on every char */ *used = 0;
_____
Modified: branches/alex_devel_branch/reactos/tools/widl/ChangeLog --- branches/alex_devel_branch/reactos/tools/widl/ChangeLog 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/tools/widl/ChangeLog 2005-03-11 23:56:02 UTC (rev 13942) @@ -1,5 +1,16 @@
ChangeLog
+2005-03-10 ekohl + + tools/widl/client.c + tools/widl/header.c + tools/widl/server.c + tools/widl/widl.c + tools/widl/widl.h + +Implement '-o' option. This is equivalent to MIDLs '/oldnames' option. + + 2005-03-06 ekohl
tools/widl/client.c @@ -20,13 +31,13 @@ tools/widl/typelib.c
Merge in Winehq changes to reduce noise. - + tools/widl/server.h tools/widl/client.h tools/widl/proxy.h
-Deleted unneeded headers. - +Deleted unneeded headers. + 2005-02-26 ekohl tools/widl/server.c
_____
Modified: branches/alex_devel_branch/reactos/tools/widl/client.c --- branches/alex_devel_branch/reactos/tools/widl/client.c 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/tools/widl/client.c 2005-03-11 23:56:02 UTC (rev 13942) @@ -672,8 +672,12 @@
print_client("0,\n"); indent--; print_client("};\n"); - print_client("RPC_IF_HANDLE %s_v%d_%d_c_ifspec = (RPC_IF_HANDLE)& %s___RpcClientInterface;\n", - iface->name, LOWORD(ver), HIWORD(ver), iface->name); + if (old_names) + print_client("RPC_IF_HANDLE %s_ClientIfHandle = (RPC_IF_HANDLE)& %s___RpcClientInterface;\n", + iface->name, iface->name); + else + print_client("RPC_IF_HANDLE %s_v%d_%d_c_ifspec = (RPC_IF_HANDLE)& %s___RpcClientInterface;\n", + iface->name, LOWORD(ver), HIWORD(ver), iface->name); fprintf(client, "\n"); }
_____
Modified: branches/alex_devel_branch/reactos/tools/widl/header.c --- branches/alex_devel_branch/reactos/tools/widl/header.c 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/tools/widl/header.c 2005-03-11 23:56:02 UTC (rev 13942) @@ -851,8 +851,16 @@
{ fprintf(header, "extern handle_t %s;\n", var); } - fprintf(header, "extern RPC_IF_HANDLE %s_v%d_%d_c_ifspec;\n", iface->name, LOWORD(ver), HIWORD(ver)); - fprintf(header, "extern RPC_IF_HANDLE %s_v%d_%d_s_ifspec;\n", iface->name, LOWORD(ver), HIWORD(ver)); + if (old_names) + { + fprintf(header, "extern RPC_IF_HANDLE %s_ClientIfHandle;\n", iface->name); + fprintf(header, "extern RPC_IF_HANDLE %s_ServerIfHandle;\n", iface->name); + } + else + { + fprintf(header, "extern RPC_IF_HANDLE %s_v%d_%d_c_ifspec;\n", iface->name, LOWORD(ver), HIWORD(ver)); + fprintf(header, "extern RPC_IF_HANDLE %s_v%d_%d_s_ifspec;\n", iface->name, LOWORD(ver), HIWORD(ver)); + } write_function_proto(iface); fprintf(header, "\n");
_____
Modified: branches/alex_devel_branch/reactos/tools/widl/server.c --- branches/alex_devel_branch/reactos/tools/widl/server.c 2005-03-11 23:38:59 UTC (rev 13941) +++ branches/alex_devel_branch/reactos/tools/widl/server.c 2005-03-11 23:56:02 UTC (rev 13942) @@ -677,8 +677,12 @@
print_server("0,\n"); indent--; print_server("};\n"); - print_server("RPC_IF_HANDLE %s_v%d_%d_s_ifspec = (RPC_IF_HANDLE)& %s___RpcServerInterface;\n", - iface->name, LOWORD(ver), HIWORD(ver), iface->name); + if (old_names) + print_server("RPC_IF_HANDLE %s_ServerIfHandle = (RPC_IF_HANDLE)& %s___RpcServerInterface;\n", + iface->name, iface->name); + else + print_server("RPC_IF_HANDLE %s_v%d_%d_s_ifspec = (RPC_IF_HANDLE)& %s___RpcServerInterface;\n", + iface->name, LOWORD(ver), HIWORD(ver), iface->name); fprintf(server, "\n"); }
_____
Modified: branches/alex_devel_branch/reactos/tools/widl/widl.c [truncated at 1000 lines; 75 more skipped]