;; import/no-lib >> trace/function on <-- trace == unset! >> import/no-lib %./curl.so --> import %./curl.so . . . . . true . . . . . . . --> block? %./curl.so <-- block? == false --> if false [ assert [not ve... . . <-- if == none --> apply make function! [[ ... [module version ver ... . --> assert [local none!] true <-- assert == true --> if true [delay: none] . . <-- if == none --> case [ word? source [... . --> word? %./curl.so <-- word? == false --> binary? %./curl.so <-- binary? == false --> string? %./curl.so <-- string? == false --> any [file? source url? s... --> file? %./curl.so <-- file? == true <-- any == true --> file-type? %./curl.so --> suffix? %./curl.so --> all [ path: find/las... --> find %./curl.so #"." . . . . . . . . . true . . . <-- find == %.so --> find %.so #"/" . . . . . . . . . . . . . <-- find == none --> not none <-- not == true <-- all == true --> if true [to file! path] . . --> to file! %.so <-- to == %.so <-- if == %.so <-- suffix? == %.so --> find [%.txt text %.html %... %.so . . . . . . . . . . . . . <-- find == [%.so extension] --> find [%.so extension] word! . . . . . . . . . . . . . <-- find == [extension] --> if [extension] [first file] . . --> first [extension] <-- first == extension <-- if == extension <-- file-type? == extension --> case [ not tmp [unles... . --> not extension <-- not == false --> = extension extension <-- = == true --> attempt [ext: load-extension... --> load-extension %./curl.so . . <-- load-extension == make object! [ lib-base: handle! lib-file:... <-- attempt == make object! [ lib-base: handle! lib-file:... --> unless make object! [ l... [return none] <-- unless == none --> case [ import [set [h... . --> load-ext-module make object! [ l... . . . . . . --> assert [ext/lib-base handle... true <-- assert == true --> load-header #{ 5245424F4C205B0A5... . true . . . . . . . . --> case [ binary? source... true --> binary? #{ 5245424F4C205B0A5... <-- binary? == true --> assert-utf8 #{ 5245424F4C205B0A5... . . --> utf? #{ 5245424F4C205B0A5... <-- utf? == 0 --> find [0 8] 0 . . . . . . . . . . . . . <-- find == [0 8] --> unless [0 8] [ cause-error 's... <-- unless == none <-- assert-utf8 == #{ 5245424F4C205B0A5469746C653A207B6355524C2042696... --> string? #{ 5245424F4C205B0A5... <-- string? == false --> script? #{ 5245424F4C205B0A5... --> type? #{ 5245424F4C205B0A5... true <-- type? == binary! --> switch binary! [ file! url! [so... . . . <-- switch == none --> find-script #{ 5245424F4C205B0A5... <-- find-script == #{ 5245424F4C205B0A5469746C653A207B6355524C2042696... <-- script? == #{ 5245424F4C205B0A5469746C653A207B6355524C2042696... --> not #{ 5245424F4C205B0A5... <-- not == false --> transcode #{ 5245424F4C205B0A5... . true . <-- transcode == [REBOL #{ 205B0A5469746C653A207B6355524C2042696E64... --> set [key: rest:] [REBOL #{ 205B0A5469... true . <-- set == [REBOL #{ 205B0A5469746C653A207B6355524C2042696E64... --> transcode #{ 205B0A5469746C653... true . true <-- transcode == [[ Title: "cURL Binding" Name: cUR... --> set [hdr: rest:] [[ Title: "c... true . <-- set == [[ Title: "cURL Binding" Name: cUR... --> block? [ Title: "cURL B... <-- block? == true --> not true <-- not == false --> attempt [hdr: construct/with... --> construct [ Title: "cURL B... true make object! [ t... . <-- construct == make object! [ title: "cURL Binding" name:... <-- attempt == make object! [ title: "cURL Binding" name:... --> not make object! [ t... <-- not == false --> any [block? :hdr/options... --> block? none <-- block? == false --> none? none <-- none? == true <-- any == true --> not true <-- not == false --> any [binary? :hdr/checks... --> binary? none <-- binary? == false --> none? none <-- none? == true <-- any == true --> not true <-- not == false --> find none content . . . . . . . . . . . . . <-- find == none --> = 13 10 <-- = == false --> = 10 10 <-- = == true --> next #{ 0A6578706F7274206... <-- next == #{ 6578706F7274206375726C3A20636F6E74657874205B0A7... --> select make object! [ t... length . . . . . . . . . . . <-- select == none --> integer? none <-- integer? == false --> not none <-- not == true --> tail #{ 5245424F4C205B0A5... <-- tail == #{} --> = REBOL rebol <-- = == true --> case [ find hdr/optio... . --> find none compress . . . . . . . . . . . . . <-- find == none --> all [sum sum != checksum... <-- all == none <-- case == none --> != REBOL rebol <-- != == false <-- case == none --> reduce [hdr rest end] . . . . . <-- reduce == [make object! [ title: "cURL Binding" ... <-- load-header == [make object! [ title: "cURL Binding" ... --> set [hdr: code:] [make object! [ ... . . <-- set == [make object! [ title: "cURL Binding" ... --> word? [make object! [ ... <-- word? == false --> if false [ cause-error 's... . . <-- if == none --> loud-print ["Extension:" select... --> if none [print :data] . . <-- if == none <-- loud-print == none --> unless none [hdr/options: make b... --> make block! 1 <-- make == [] <-- unless == [] --> append [] extension . . . . . <-- append == [extension] --> body-of make object! [ l... --> reflect make object! [ l... body <-- reflect == [ lib-base: handle! lib-file: %./curl.so ... <-- body-of == [ lib-base: handle! lib-file: %./curl.so ... --> unless none [ append tmp [ ... --> append [ lib-base: hand... [ cmd-index: 0 ... . . . . . <-- append == [ lib-base: handle! lib-file: %./curl.so ... <-- unless == [ lib-base: handle! lib-file: %./curl.so ... --> block? #{ 6578706F727420637... <-- block? == false --> unless false [code: to block! cod... --> to block! #{ 6578706F727420637... <-- to == [export curl: context [ version: command [... <-- unless == [export curl: context [ version: command [... --> insert [export curl: contex... [ lib-base: hand... . . . . . <-- insert == [export curl: context [ version: command [... --> reduce [hdr code] . . . . . <-- reduce == [make object! [ title: "cURL Binding" ... <-- load-ext-module == [make object! [ title: "cURL Binding" ... --> set [hdr: code:] [make object! [ ... . . <-- set == [make object! [ title: "cURL Binding" ... <-- case == [make object! [ title: "cURL Binding" ... --> if none [modsum: copy hdr/ch... . . <-- if == none <-- case == none <-- case == none --> case [ module? mod [ ... true --> module? none <-- module? == false --> block? none <-- block? == false --> not make object! [ t... <-- not == false --> not none <-- not == true --> set name cURL-binding true . <-- set == cURL-binding --> all [not no-lib not word... --> not true <-- not == false <-- all == none --> set modver . true . <-- set == none --> tuple? none <-- tuple? == false --> not false <-- not == true --> all [ override?: not... --> not true <-- not == false <-- all == none --> module? none <-- module? == false --> not false <-- not == true --> all [check sum !== modsu... <-- all == none --> all [version ver > modve... <-- all == none --> all [not override? any [... --> not false <-- not == true --> any [mod delay] <-- any == none <-- all == none --> not none <-- not == true --> case [ find hdr/optio... true --> find [extension] isolate . . . . . . . . . . . . . <-- find == none --> object? [ lib-base: hand... <-- object? == false --> binary? [ lib-base: hand... <-- binary? == false <-- case == none --> assert [hdr object! code bl... true <-- assert == true --> reduce [hdr code do-needs/n... . . . . . --> do-needs make object! [ t... . . true . . . . . . . . . --> case [ object? needs ... true --> object? make object! [ t... <-- object? == true --> select make object! [ t... needs . . . . . . . . . . . <-- select == none --> set needs . true . <-- set == none --> none? none <-- none? == true --> return none . <-- return == make error! 1 <-- case == make error! 1 <-- do-needs == none <-- reduce == [make object! [ title: "cURL Binding" ... --> catch [make module! mod] . . true --> make module! [make object! [ ... --> set [spec body mixins] [make object! [ ... . . <-- set == [make object! [ title: "cURL Binding" ... --> block? make object! [ t... <-- block? == false --> if false [ spec: attempt ... . . <-- if == none --> assert [ spec object! ... true <-- assert == true --> make object! 7 <-- make == make object! [ ] --> find [extension] extension . . . . . . . . . . . . . <-- find == [extension] --> if [extension] [ append obj 'li... . . --> append make object! [ ] lib-base . . . . . <-- append == make object! [ lib-base: unset! ] <-- if == make object! [ lib-base: unset! ] --> unless module [spec/type: 'module] <-- unless == none --> find [ lib-base: hand... export . . . . . . . . . . . . . <-- find == [export curl: context [ version: command [... --> if [export curl: contex... [ unless block? ... . . --> select make object! [ t... exports . . . . . . . . . . . <-- select == none --> block? none <-- block? == false --> unless false [repend spec ['expor... --> repend make object! [ t... ['exports make block... . . . . . --> apply make action! [[ ... [series reduce :valu... . --> reduce ['exports make block... . . . . . --> make block! 10 <-- make == [] <-- reduce == [exports []] <-- apply == make object! [ title: "cURL Binding" name:... <-- repend == make object! [ title: "cURL Binding" name:... <-- unless == make object! [ title: "cURL Binding" name:... --> parse [ lib-base: hand... [while [to 'export r... . . Parse match: 'hidden Parse input: Parse match: make typeset! [word! set-word! get-word! lit-word! refinement! issue!] Parse input: --> to word! curl: <-- to == curl --> find [] curl . . . . . . . . . . . . . <-- find == none --> unless none [append spec/exports... --> append [] curl . . . . . <-- append == [curl] <-- unless == [curl] <-- parse == true <-- if == true --> select make object! [ t... exports . . . . . . . . . . . <-- select == [curl] --> block? [curl] <-- block? == true --> if true [bind/new spec/expor... . . --> bind [curl] make object! [ l... . . true . <-- bind == [curl] <-- if == [curl] --> find [ lib-base: hand... hidden . . . . . . . . . . . . . <-- find == none --> if none [ hidden: make b... . . <-- if == none --> block? none <-- block? == false --> if false [bind/new hidden obj... . . <-- if == none --> find [extension] isolate . . . . . . . . . . . . . <-- find == none --> either none [ bind/new body ... [ bind/only/set ... --> bind [ lib-base: hand... make object! [ l... . true . true <-- bind == [ lib-base: handle! lib-file: %./curl.so ... --> object? none <-- object? == false --> if false [bind body mixins] . . <-- if == none --> bind [ lib-base: hand... make object! [ e... . . . . <-- bind == [ lib-base: handle! lib-file: %./curl.so ... <-- either == [ lib-base: handle! lib-file: %./curl.so ... --> bind [ lib-base: hand... make object! [ l... . . . . <-- bind == [ lib-base: handle! lib-file: %./curl.so ... --> block? none <-- block? == false --> if false [protect/hide/words ... . . <-- if == none --> reduce [spec obj] . . . . . <-- reduce == [make object! [ title: "cURL Binding" ... --> to module! [make object! [ ... <-- to == make module! [ lib-base: unset! curl: unse... --> do [ lib-base: hand... . . . . --> func [ "Define a new ... [ make command! ... --> reduce [spec body] . . . . . <-- reduce == [[ "Define a new command for an extension.... --> copy [[ "Define a... . . true . . <-- copy == [[ "Define a new command for an extension.... --> make function! [[ "Define a... <-- make == make function! [[ "Define a new command for an... <-- func == make function! [[ "Define a new command for an... --> protect [cmd-index command] . true . true <-- protect == [cmd-index command] --> context [ version: comma... --> make object! [ version: comma... --> command ["Return cURL versio... --> reduce [args self ++ cmd-in... . . . . . --> ++ cmd-index <-- ++ == 0 <-- reduce == [["Return cURL version."] make object! [ l... --> make command! [["Return cURL versi... <-- make == make command! [["Return cURL version."]] <-- command == make command! [["Return cURL version."]] --> command ["Return session han... --> reduce [args self ++ cmd-in... . . . . . --> ++ cmd-index <-- ++ == 1 <-- reduce == [["Return session handle."] make object! [ ... --> make command! [["Return session ha... <-- make == make command! [["Return session handle."]] <-- command == make command! [["Return session handle."]] --> command ["Clean up session."... --> reduce [args self ++ cmd-in... . . . . . --> ++ cmd-index <-- ++ == 2 <-- reduce == [["Clean up session." handle [handle!]] make objec... --> make command! [["Clean up session.... <-- make == make command! [["Clean up session." handle [handle... <-- command == make command! [["Clean up session." handle [handle... --> command ["Clear session sett... --> reduce [args self ++ cmd-in... . . . . . --> ++ cmd-index <-- ++ == 3 <-- reduce == [["Clear session settings." handle [handle!]] make... --> make command! [["Clear session set... <-- make == make command! [["Clear session settings." handle [... <-- command == make command! [["Clear session settings." handle [... --> command ["Read from a URL." ... --> reduce [args self ++ cmd-in... . . . . . --> ++ cmd-index <-- ++ == 4 <-- reduce == [["Read from a URL." handle [handle!] source [url!... --> make command! [["Read from a URL."... <-- make == make command! [["Read from a URL." handle [handle!... <-- command == make command! [["Read from a URL." handle [handle!... --> command ["Write to a URL." h... --> reduce [args self ++ cmd-in... . . . . . --> ++ cmd-index <-- ++ == 5 <-- reduce == [["Write to a URL." handle [handle!] destination [... --> make command! [["Write to a URL." ... <-- make == make command! [["Write to a URL." handle [handle!]... <-- command == make command! [["Write to a URL." handle [handle!]... --> command ["Set trace output t... --> reduce [args self ++ cmd-in... . . . . . --> ++ cmd-index <-- ++ == 6 <-- reduce == [["Set trace output to stderr." handle [handle!] f... --> make command! [["Set trace output ... <-- make == make command! [["Set trace output to stderr." hand... <-- command == make command! [["Set trace output to stderr." hand... --> command ["Set connection tim... --> reduce [args self ++ cmd-in... . . . . . --> ++ cmd-index <-- ++ == 7 <-- reduce == [["Set connection timeout period." handle [handle!... --> make command! [["Set connection ti... <-- make == make command! [["Set connection timeout period." h... <-- command == make command! [["Set connection timeout period." h... --> command ["Set timeout period... --> reduce [args self ++ cmd-in... . . . . . --> ++ cmd-index <-- ++ == 8 <-- reduce == [["Set timeout period." handle [handle!] seconds [... --> make command! [["Set timeout perio... <-- make == make command! [["Set timeout period." handle [hand... <-- command == make command! [["Set timeout period." handle [hand... --> command ["Follow location re... --> reduce [args self ++ cmd-in... . . . . . --> ++ cmd-index <-- ++ == 9 <-- reduce == [["Follow location redirections." handle [handle!]... --> make command! [["Follow location r... <-- make == make command! [["Follow location redirections." ha... <-- command == make command! [["Follow location redirections." ha... --> command ["Limit location red... --> reduce [args self ++ cmd-in... . . . . . --> ++ cmd-index <-- ++ == 10 <-- reduce == [["Limit location redirections." handle [handle!] ... --> make command! [["Limit location re... <-- make == make command! [["Limit location redirections." han... <-- command == make command! [["Limit location redirections." han... --> command ["Unlimited reauthen... --> reduce [args self ++ cmd-in... . . . . . --> ++ cmd-index <-- ++ == 11 <-- reduce == [["Unlimited reauthentication on redirections." ha... --> make command! [["Unlimited reauthe... <-- make == make command! [["Unlimited reauthentication on red... <-- command == make command! [["Unlimited reauthentication on red... --> command ["Verify remote SSL ... --> reduce [args self ++ cmd-in... . . . . . --> ++ cmd-index <-- ++ == 12 <-- reduce == [["Verify remote SSL certificate authenticity." ha... --> make command! [["Verify remote SSL... <-- make == make command! [["Verify remote SSL certificate aut... <-- command == make command! [["Verify remote SSL certificate aut... --> command ["Verify that SSL ce... --> reduce [args self ++ cmd-in... . . . . . --> ++ cmd-index <-- ++ == 13 <-- reduce == [["Verify that SSL certificate belongs to server."... --> make command! [["Verify that SSL c... <-- make == make command! [["Verify that SSL certificate belon... <-- command == make command! [["Verify that SSL certificate belon... --> command ["Set permissions fo... --> reduce [args self ++ cmd-in... . . . . . --> ++ cmd-index <-- ++ == 14 <-- reduce == [["Set permissions for newly created remote files.... --> make command! [["Set permissions f... <-- make == make command! [["Set permissions for newly created... <-- command == make command! [["Set permissions for newly created... --> command [{Set permissions fo... --> reduce [args self ++ cmd-in... . . . . . --> ++ cmd-index <-- ++ == 15 <-- reduce == [[{Set permissions for newly created remote direct... --> make command! [[{Set permissions f... <-- make == make command! [[{Set permissions for newly created... <-- command == make command! [[{Set permissions for newly created... <-- make == make object! [ version: make command! [["Retur... <-- context == make object! [ version: make command! [["Retur... <-- do == make object! [ version: make command! [["Retur... <-- make == make module! [ lib-base: handle! curl: mak... <-- catch == make module! [ lib-base: handle! curl: mak... --> all [not no-lib override... --> not true <-- not == false <-- all == none <-- case == none --> reduce [name if module? mod... . . . . . --> module? make module! [ l... <-- module? == true --> if true [mod] . . <-- if == make module! [ lib-base: handle! curl: mak... <-- reduce == [cURL-binding make module! [ lib-base: han... <-- apply == [cURL-binding make module! [ lib-base: han... --> set [name: mod:] [cURL-binding make m... . . <-- set == [cURL-binding make module! [ lib-base: han... --> case [ mod none w... . <-- case == none --> unless make module! [ l... [cause-error 'access... <-- unless == none --> case [ no-user none ... . --> spec-of make module! [ l... --> reflect make module! [ l... spec <-- reflect == make object! [ title: "cURL Binding" name:... <-- spec-of == make object! [ title: "cURL Binding" name:... --> select make object! [ t... exports . . . . . . . . . . . <-- select == [curl] --> block? [curl] <-- block? == true --> not true <-- not == false --> empty? [curl] <-- empty? == false --> any [no-lib find select ... <-- any == true --> resolve make object! [ s... make module! [ l... true [curl] . true Segmentation fault