class BinData::String

def clamp_to_length(str)

def clamp_to_length(str)
  str = binary_string(str)
  len = eval_parameter(:length) || str.length
  if str.length == len
    str
  elsif str.length > len
    str.slice(0, len)
  else
    padding = (eval_parameter(:pad_byte) * (len - str.length))
    if get_parameter(:pad_front)
      padding + str
    else
      str + padding
    end
  end
end