Skip to content

Instantly share code, notes, and snippets.

class C
include AdLint::C::ScannerConstants
extend AdLint::C::Scanner
class << self
def single_module_phases
[
AdLint::Cpp::PreparePhase,
       # Snip...
].freeze
begin
lang.single_module_phases.each do |phase_class|
phase_class.new(context).execute
end
ensure
# snip...
end
require 'rubygems'
# ...snip...
gem 'adlint', version
load Gem.bin_path('adlint', 'adlintize', version)
@Talos208
Talos208 / gist:1257528
Created October 2, 2011 15:10
IO#unpack!
class IO
def unpack!(ptn)
ptn2 = ptn.dup
until ptn2.empty?
len += case ptn2
when /\*/
len = nil
break
when /^[aAcCx](\d+)/
$1 ? $1.to_i : 1
@Talos208
Talos208 / str_unpack.rb
Created September 13, 2011 13:34
String#unpack!
class String
def unpack!(fmt)
ret = unpack(fmt)
slice!(0,ret.pack(fmt).size)
ret
end
end
# Use like this.
str = "\0\xaa\x01\x55\xff"