mime::parsetypeaux (private)
mime::parsetypeaux token string
Defined in packages/acs-tcl/tcl/tcllib-doc-procs.tcl
Parse the media type, subtype and parameters for the MIME Content-Type parser.
- Parameters:
- token (required)
- Internal MIME parser token.
- string (required)
- Original Content-Type value.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
Source code: # FRINK: nocheck variable $token upvar 0 $token state if {[parselexeme $token] ne "LX_ATOM"} { error [format "expecting type (found %s)" $state(buffer)] } set type [string tolower $state(buffer)] switch -- [parselexeme $token] { LX_SOLIDUS { } LX_END { if {$type ne "message"} { error "expecting type/subtype (found $type)" } return [list message/rfc822 {}] } default { error [format "expecting \"/\" (found %s)" $state(buffer)] } } if {[parselexeme $token] ne "LX_ATOM"} { error [format "expecting subtype (found %s)" $state(buffer)] } append type [string tolower /$state(buffer)] array set params {} while {1} { switch -- [parselexeme $token] { LX_END { return [list $type [array get params]] } LX_SEMICOLON { } default { error [format "expecting \";\" (found %s)" $state(buffer)] } } switch -- [parselexeme $token] { LX_END { return [list $type [array get params]] } LX_ATOM { } default { error [format "expecting attribute (found %s)" $state(buffer)] } } set attribute [string tolower $state(buffer)] if {[parselexeme $token] ne "LX_EQUALS"} { error [format "expecting \"=\" (found %s)" $state(buffer)] } switch -- [parselexeme $token] { LX_ATOM { } LX_QSTRING { set state(buffer) [ string range $state(buffer) 1 [ expr {[string length $state(buffer)] - 2}]] } default { error [format "expecting value (found %s)" $state(buffer)] } } set params($attribute) $state(buffer) }XQL Not present: Generic, PostgreSQL, Oracle