<div dir="ltr"><div><div><div><div><div>Hello,<br><br></div>The following example from section 10 of the cffi documentation is causing a segmentation fault on clisp on cygwin:<br><br><pre class="">(defcfun "sprintf" :int
    (str :pointer)
    (control :string)
    &rest)
  
  CFFI> (with-foreign-pointer-as-string (s 100)
          (sprintf s "%c %d %.2f %s" :char 90 :short 42 :float 3.1415
                   :string "super-locrian"))
  => "A 42 3.14 super-locrian"<br><br><br></pre><pre class=""></pre>I replaced :float pi with :float 3.1415, as ``pi'' is long-float - I wanted to remove this as a possible cause.  <br><br>At first I thought it was the %s for the string, but it may actually be the %.2f.<br>
</div><div>- By itself %f, it does not correctly process floats, emitting ``f''.<br></div><div>- If followed by other codes, it swallows them<br></div><div>- If followed by a string, causes a segmentation fault<br>
</div><div><br></div><span style="font-family:courier new,monospace">CL-USER> (cffi:with-foreign-pointer-as-string (s 100)<br>          (sprintf s "%s" <br>           :string "super-locrian"))<br>"super-locrian"<br>
<br></span><span style="font-family:courier new,monospace">CL-USER> (cffi:with-foreign-pointer-as-string (s 200)<br>          (sprintf s "%.2f" :float 3.1415))<br>"f"<br><br>CL-USER> (cffi:with-foreign-pointer-as-string (s 200)<br>
          (sprintf s "%.2f %c" :float 3.1415 :char 65))<br>"f "<br><br>CL-USER> (cffi:with-foreign-pointer-as-string (s 200)<br>          (sprintf s "%.2f %s %c" :float 3.1415 :string "five" :char 65))<br>
</span></div><span style="font-family:courier new,monospace">Segmentation fault</span><br><br></div>I'll try this on Linux/SBCL when I get back to work on Monday.<br><br></div>Mirko<br></div>