Hi Gabriel, Eric,

Isn't the real issue why LogFile->Header.CurrentRecordNumber is off by one ?
If that is found and fixed, this patch will make the error re-emerge as an
off by -1.
And if CurrentRecordNumber is actually used as the next *pending* record
number,
the identifier is somewhat mis-leading .. ?

Just my penny to the pot
Best Regards
L.

---------- Forwarded message ----------
> From: Gabriel ilardi <[email protected]>
> To: ros-dev <[email protected]>
> Date: Mon, 2 May 2011 21:50:03 +0200
> Subject: Re: [ros-dev] [ros-diffs] [ekohl] 51558: [EVENTVWR/EVENTLOG] Fix a
> double off-by-one bug: - The eventlog service was reporting one event more
> than was available (+1). - The event viewer did not display the latest event
> from...
>  Great work on event service and event viewer... keep it up Eric :)
>
>
> > Date: Mon, 2 May 2011 19:38:24 +0000
> > To: [email protected]
> > From: [email protected]
> > Subject: [ros-diffs] [ekohl] 51558: [EVENTVWR/EVENTLOG] Fix a double
> off-by-one bug: - The eventlog service was reporting one event more than was
> available (+1). - The event viewer did not display the latest event from...
> >
> > Author: ekohl
> > Date: Mon May 2 19:38:23 2011
> > New Revision: 51558
> >
> > URL: http://svn.reactos.org/svn/reactos?rev=51558&view=rev
> > Log:
> > [EVENTVWR/EVENTLOG]
> > Fix a double off-by-one bug:
> > - The eventlog service was reporting one event more than was available
> (+1).
> > - The event viewer did not display the latest event from the eventlog
> service (-1).
> >
> > See issue #6182 for more details.
> >
> > Modified:
> > trunk/reactos/base/applications/mscutils/eventvwr/eventvwr.c
> > trunk/reactos/base/services/eventlog/rpc.c
> >
> > Modified: trunk/reactos/base/applications/mscutils/eventvwr/eventvwr.c
> > URL:
> http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils/eventvwr/eventvwr.c?rev=51558&r1=51557&r2=51558&view=diff
> >
> ==============================================================================
> > --- trunk/reactos/base/applications/mscutils/eventvwr/eventvwr.c
> [iso-8859-1] (original)
> > +++ trunk/reactos/base/applications/mscutils/eventvwr/eventvwr.c
> [iso-8859-1] Mon May 2 19:38:23 2011
> > @@ -503,7 +503,7 @@
> > HWND hwndDlg;
> > HANDLE hEventLog;
> > EVENTLOGRECORD *pevlr;
> > - DWORD dwRead, dwNeeded, dwThisRecord, dwTotalRecords = 0,
> dwCurrentRecord = 1, dwRecordsToRead = 0, dwFlags, dwMaxLength;
> > + DWORD dwRead, dwNeeded, dwThisRecord, dwTotalRecords = 0,
> dwCurrentRecord = 0, dwRecordsToRead = 0, dwFlags, dwMaxLength;
> > LPWSTR lpSourceName;
> > LPWSTR lpComputerName;
> > LPSTR lpData;
> >
> > Modified: trunk/reactos/base/services/eventlog/rpc.c
> > URL:
> http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/eventlog/rpc.c?rev=51558&r1=51557&r2=51558&view=diff
> >
> ==============================================================================
> > --- trunk/reactos/base/services/eventlog/rpc.c [iso-8859-1] (original)
> > +++ trunk/reactos/base/services/eventlog/rpc.c [iso-8859-1] Mon May 2
> 19:38:23 2011
> > @@ -199,6 +199,7 @@
> > DWORD *NumberOfRecords)
> > {
> > PLOGHANDLE lpLogHandle;
> > + DWORD dwRecords;
> >
> > lpLogHandle = ElfGetLogHandleEntryByHandle(LogHandle);
> > if (!lpLogHandle)
> > @@ -206,7 +207,9 @@
> > return STATUS_INVALID_HANDLE;
> > }
> >
> > - *NumberOfRecords = lpLogHandle->LogFile->Header.CurrentRecordNumber;
> > + dwRecords = lpLogHandle->LogFile->Header.CurrentRecordNumber;
> > +
> > + *NumberOfRecords = (dwRecords > 0) ? (dwRecords - 1) : 0;
> >
> > return STATUS_SUCCESS;
> > }
> >
> >
>
_______________________________________________
Ros-dev mailing list
[email protected]
http://www.reactos.org/mailman/listinfo/ros-dev

Reply via email to