No it is not a bug. s7_string returns the bytes of the scheme string (which is not a C string), somewhat like display, whereas s7_object_to_c_string returns a human- readable representation of a scheme object, somewhat like write: <1> (format #f "~A" "asdf") ; display "asdf" <2> (format #f "~S" "asdf") ; write "\"asdf\""