class RubySMB::Dcerpc::Ndr::NdrString

An NDR Conformant and Varying String representation as defined in [Transfer Syntax NDR - Conformant and Varying Strings](pubs.opengroup.org/onlinepubs/9629399/chap14.htm#tagcjh_19_03_04_02) The string elements are Stringz16 (unicode)

Public Instance Methods

clear() click to toggle source
# File lib/ruby_smb/dcerpc/ndr.rb, line 47
def clear
  # Make sure #max_count and #offset are not cleared out
  self.str.clear
  self.actual_count.clear
end
get() click to toggle source
# File lib/ruby_smb/dcerpc/ndr.rb, line 25
def get
  self.actual_count == 0 ? 0 : self.str
end
set(v) click to toggle source
# File lib/ruby_smb/dcerpc/ndr.rb, line 29
def set(v)
  if v == 0
    self.str.clear
    self.actual_count = 0
  else
    v = v.str if v.is_a?(self.class)
    unless self.str.equal?(v)
      if v.empty?
        self.actual_count = 0
      else
        self.actual_count = v.to_s.size + 1
        self.max_count = self.actual_count
      end
    end
    self.str = v.to_s
  end
end
to_s() click to toggle source
# File lib/ruby_smb/dcerpc/ndr.rb, line 53
def to_s
  self.str.to_s
end