HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/rvm/gems/default/doc/mail-2.7.1/ri/lib/mail/parsers/page-content_location_parser_rl.ri
U:RDoc::TopLevel[	iI"0lib/mail/parsers/content_location_parser.rl:ETcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;[I"## frozen_string_literal: true ;TI"require 'mail/utilities' ;TI" require 'mail/parser_tools';To:RDoc::Markup::BlankLineo;	;[I"%%{;To:RDoc::Markup::Verbatim;[$I"!# RFC 2557 Content-Location
;TI"7# https://tools.ietf.org/html/rfc2557#section-4.1
;TI"machine content_location;
;TI"alphtype int;
;TI"
;TI"# Quoted String
;TI""action qstr_s { qstr_s = p }
;TI"Laction qstr_e { content_location.location = chars(data, qstr_s, p-1) }
;TI"
;TI"# Token String
;TI"2action token_string_s { token_string_s = p }
;TI"\action token_string_e { content_location.location = chars(data, token_string_s, p-1) }
;TI"
;TI"# No-op actions
;TI"action comment_e { }
;TI"action comment_s { }
;TI"action phrase_e { }
;TI"action phrase_s { }
;TI"action main_type_e { }
;TI"action main_type_s { }
;TI"action sub_type_e { }
;TI"action sub_type_s { }
;TI"action param_attr_e { }
;TI"action param_attr_s { }
;TI"action param_val_e { }
;TI"action param_val_s { }
;TI"
;TI"=include rfc2045_content_type "rfc2045_content_type.rl";
;TI"
;TI"Slocation = quoted_string | ((token | 0x3d)+ >token_string_s %token_string_e);
;TI"#main := CFWS? location CFWS?;
;T:@format0o;	;[I"}%%;T@o;	;[I"module Mail::Parsers;To;;[$I""module ContentLocationParser
;TI"   extend Mail::ParserTools
;TI"
;TI"=  ContentLocationStruct = Struct.new(:location, :error)
;TI"
;TI"  %%write data noprefix;
;TI"
;TI"  def self.parse(data)
;TI"c    data = data.dup.force_encoding(Encoding::ASCII_8BIT) if data.respond_to?(:force_encoding)
;TI"
;TI";    content_location = ContentLocationStruct.new(nil)
;TI"A    return content_location if Mail::Utilities.blank?(data)
;TI"
;TI"    # Parser state
;TI"U    disp_type_s = param_attr_s = param_attr = qstr_s = qstr = param_val_s = nil
;TI"
;TI"'    # 5.1 Variables Used by Ragel
;TI"    p = 0
;TI"     eof = pe = data.length
;TI"    stack = []
;TI"
;TI"    %%write init;
;TI"    %%write exec;
;TI"
;TI"8    if p != eof || cs < %%{ write first_final; }%%
;TI"^      raise Mail::Field::IncompleteParseError.new(Mail::ContentLocationElement, data, p)
;TI"
    end
;TI"
;TI"    content_location
;TI"  end
;TI"	end
;T;0o;	;[I"end;T:
@file@:0@omit_headings_from_table_of_contents_below0