[Win32utils-devel] [ win32utils-Bugs-28904 ] Gem win32-eventlog v0.5.2 on Ruby 1.9.1 and 1.9.2
noreply at rubyforge.org
noreply at rubyforge.org
Tue Mar 8 16:46:04 EST 2011
Bugs item #28904, was opened at 2011-02-02 10:41
You can respond by visiting:
http://rubyforge.org/tracker/?func=detail&atid=411&aid=28904&group_id=85
Category: win32-eventlog
Group: Code
Status: Open
Resolution: None
Priority: 3
Submitted By: Jason Bourne (jbourne)
Assigned to: Nobody (None)
Summary: Gem win32-eventlog v0.5.2 on Ruby 1.9.1 and 1.9.2
Initial Comment:
1.Requirement: Read the latest lines of the Windows Application Event
Viewer to verify deployment status executions.
2. Environment: Ruby 1.9.1 On Windows
win32-eventlog (0.5.2)
windows-api (0.4.0)
windows-pr (1.1.3)
3. Problem: On Ruby 1.8.7 my scripts using win32 evenlog api works fine
but on ruby 1.9.1 they don't. I know the String management has changed
on Ruby 1.9.1 and above.
4. Exception Details.
C:/Ruby191/lib/ruby/gems/1.9.1/gems/win32-eventlog-0.5.2/lib/win32/eventlog.rb:14:in
`[]': invalid byte sequence in US-ASCII (ArgumentError)
from
C:/Ruby191/lib/ruby/gems/1.9.1/gems/win32-eventlog-0.5.2/lib/win32/eventlog.rb:14:in
`nstrip'
from
C:/Ruby191/lib/ruby/gems/1.9.1/gems/win32-eventlog-0.5.2/lib/win32/eventlog.rb:613:in
`read'
from bw_logutil.rb:49:in `read_event_log'
from bw_logutil.rb:97:in `block in <main>'
from bw_logutil.rb:96:in `each'
from bw_logutil.rb:96:in `<main>'
5. Source of Information :
http://raa.ruby-lang.org/project/win32-eventlog/
6. Tried Solutions. Tried to use WMI but there is no way to filter the
latest results.
By the way I already use Ruby 1.9.2 and i have the same results.
Could someone help me with this.
----------------------------------------------------------------------
Comment By: Ben Jansen (aogail)
Date: 2011-03-08 13:46
Message:
For anyone else who comes across this page: I discovered that my earlier diff sometimes corrupts the event message. The following version does not exhibit that problem on my test system.
--- \Ruby192\lib\ruby\gems\1.9.1\gems\win32-eventlog-0.5.2\lib\win32\eventlog.rb Tue Mar 08 13:40:54 2011
+++ eventlog.rb Tue Mar 08 13:39:56 2011
@@ -11,6 +11,9 @@
# Return the portion of the string up to the first NULL character. This
# was added for both speed and convenience.
def nstrip
+ if !self.ascii_only?
+ self.force_encoding('BINARY')
+ end
self[ /^[^\0]*/ ]
end
end
----------------------------------------------------------------------
Comment By: Jason Bourne (jbourne)
Date: 2011-03-04 13:12
Message:
Thank you it works....!!
----------------------------------------------------------------------
Comment By: Ben Jansen (aogail)
Date: 2011-03-02 15:57
Message:
The following patch fixes this error for me. I based this upon the post at <http://www.ruby-forum.com/topic/1004404>.
--- C:/Ruby192/lib/ruby/gems/1.9.1/gems/win32-eventlog-0.5.2/lib/win32/eventlog.rb Wed Mar 02 15:51:40 2011
+++ \Users\bjansen\Development\eventlog.rb Wed Mar 02 15:51:25 2011
@@ -11,6 +11,9 @@
# Return the portion of the string up to the first NULL character. This
# was added for both speed and convenience.
def nstrip
+ if !self.ascii_only?
+ self.force_encoding($>.external_encoding || Encoding.default_external)
+ end
self[ /^[^\0]*/ ]
end
end
----------------------------------------------------------------------
You can respond by visiting:
http://rubyforge.org/tracker/?func=detail&atid=411&aid=28904&group_id=85
More information about the win32utils-devel
mailing list