win32-eventlog 0.4.7 → 0.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +8 -1
- data/lib/win32/eventlog.rb +19 -7
- data/test/tc_eventlog.rb +1 -1
- data/win32-eventlog.gemspec +1 -1
- metadata +3 -3
data/CHANGES
CHANGED
@@ -1,4 +1,11 @@
|
|
1
|
-
= 0.4.
|
1
|
+
= 0.4.8 - 17-May-2008
|
2
|
+
* Fixed in a bug in the EventLog#read method where a log entry requiring
|
3
|
+
over 64k would fail and spiral into an infinite loop. Thanks go to
|
4
|
+
Stuart Clarke for the spot.
|
5
|
+
* Improved handling of failed log reading in the read_last_event private
|
6
|
+
method.
|
7
|
+
|
8
|
+
= 0.4.7 - 8-Dec-2007
|
2
9
|
* Fixed a bug where you couldn't write to custom (parent) event sources.
|
3
10
|
Thanks go to Tim Uckun for the spot.
|
4
11
|
* Now handles ParameterMessageFiles, both in the EventLog.add_event_source
|
data/lib/win32/eventlog.rb
CHANGED
@@ -37,7 +37,7 @@ module Win32
|
|
37
37
|
extend Windows::Error
|
38
38
|
extend Windows::Registry
|
39
39
|
|
40
|
-
VERSION = '0.4.
|
40
|
+
VERSION = '0.4.8'
|
41
41
|
|
42
42
|
# Aliased read flags
|
43
43
|
FORWARDS_READ = EVENTLOG_FORWARDS_READ
|
@@ -536,8 +536,7 @@ module Win32
|
|
536
536
|
# If no block is given the method returns an array of EventLogStruct's.
|
537
537
|
#
|
538
538
|
def read(flags = nil, offset = 0)
|
539
|
-
buf = 0.chr * BUFFER_SIZE # 64k buffer
|
540
|
-
size = buf.size
|
539
|
+
buf = 0.chr * BUFFER_SIZE # 64k buffer
|
541
540
|
read = [0].pack('L')
|
542
541
|
needed = [0].pack('L')
|
543
542
|
array = []
|
@@ -555,12 +554,14 @@ module Win32
|
|
555
554
|
lkey = hkey.unpack('L').first
|
556
555
|
end
|
557
556
|
|
558
|
-
while ReadEventLog(@handle, flags, offset, buf, size, read, needed) ||
|
557
|
+
while ReadEventLog(@handle, flags, offset, buf, buf.size, read, needed) ||
|
559
558
|
GetLastError() == ERROR_INSUFFICIENT_BUFFER
|
560
559
|
|
561
560
|
if GetLastError() == ERROR_INSUFFICIENT_BUFFER
|
562
|
-
buf
|
563
|
-
ReadEventLog(@handle, flags, offset, buf, size, read, needed)
|
561
|
+
buf = (0.chr * buf.size) + (0.chr * needed.unpack('L')[0])
|
562
|
+
unless ReadEventLog(@handle, flags, offset, buf, buf.size, read, needed)
|
563
|
+
raise Error, get_last_error
|
564
|
+
end
|
564
565
|
end
|
565
566
|
|
566
567
|
dwread = read.unpack('L')[0]
|
@@ -721,7 +722,18 @@ module Win32
|
|
721
722
|
lkey = HKEY_LOCAL_MACHINE
|
722
723
|
|
723
724
|
flags = EVENTLOG_BACKWARDS_READ | EVENTLOG_SEQUENTIAL_READ
|
724
|
-
|
725
|
+
|
726
|
+
unless ReadEventLog(@handle, flags, 0, buf, buf.size, read, needed)
|
727
|
+
error = GetLastError()
|
728
|
+
if error == ERROR_INSUFFICIENT_BUFFER
|
729
|
+
buf = (0.chr * buf.size) + (0.chr * needed.unpack('L')[0])
|
730
|
+
unless ReadEventLog(@handle, flags, 0, buf, buf.size, read, needed)
|
731
|
+
raise Error, get_last_error
|
732
|
+
end
|
733
|
+
else
|
734
|
+
raise Error, get_last_error(error)
|
735
|
+
end
|
736
|
+
end
|
725
737
|
|
726
738
|
if @server
|
727
739
|
hkey = [0].pack('L')
|
data/test/tc_eventlog.rb
CHANGED
data/win32-eventlog.gemspec
CHANGED
@@ -2,7 +2,7 @@ require "rubygems"
|
|
2
2
|
|
3
3
|
spec = Gem::Specification.new do |gem|
|
4
4
|
gem.name = "win32-eventlog"
|
5
|
-
gem.version = "0.4.
|
5
|
+
gem.version = "0.4.8"
|
6
6
|
gem.author = "Daniel J. Berger"
|
7
7
|
gem.email = "djberg96@gmail.com"
|
8
8
|
gem.homepage = "http://www.rubyforge.org/projects/win32utils"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: win32-eventlog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel J. Berger
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2008-05-17 00:00:00 -06:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -74,7 +74,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
74
74
|
requirements: []
|
75
75
|
|
76
76
|
rubyforge_project:
|
77
|
-
rubygems_version:
|
77
|
+
rubygems_version: 1.1.1
|
78
78
|
signing_key:
|
79
79
|
specification_version: 2
|
80
80
|
summary: Interface for the MS Windows Event Log.
|