class AdLint::Cc1::PrintfFormat::Conversion_s

Public Class Methods

suitable_conversion_specifier_character() click to toggle source
# File lib/adlint/cc1/format.rb, line 1340
def self.suitable_conversion_specifier_character
  "s"
end

Private Instance Methods

argument_types() click to toggle source
# File lib/adlint/cc1/format.rb, line 1349
def argument_types
  # NOTE: The ISO C99 standard says;
  #
  # 7.19.6.1 The fprintf function
  #
  # 7 The length modifiers and their meanings are:
  #
  #   l    Specifies that a following d, i, o, u, x, or X conversion
  #        specifier applies to a long int or unsigned long int argument;
  #        that a following n conversion specifier applies to a pointer
  #        to a long int argument; that a following c conversion
  #        specifier applies to a wint_t argument; that a following s
  #        conversion specifier applies to a pointer to a wchar_t
  #        argument; or has no effect on a following a, A, e, E, f, F, g,
  #        or G conversion specifier.
  case length_modifier
  when "l"
    [pointer_type(qualified_type(wchar_t, :const))]
  else
    [pointer_type(qualified_type(signed_char_t, :const)),
      pointer_type(qualified_type(unsigned_char_t, :const))]
  end
end
default_precision_value() click to toggle source
# File lib/adlint/cc1/format.rb, line 1345
def default_precision_value
  0
end
suitable_length_modifiers() click to toggle source
# File lib/adlint/cc1/format.rb, line 1373
def suitable_length_modifiers
  ["l"]
end