chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] problem in c-string / define-external.


From: felix winkelmann
Subject: Re: [Chicken-users] problem in c-string / define-external.
Date: Tue, 30 May 2006 10:47:27 +0200

On 5/30/06, Alejandro Forero Cuervo <address@hidden> wrote:
More weirdness.

If I run the following

    (define-external (foo ((const c-string) arg)) void
      (display arg) (newline))

    ((foreign-safe-lambda* void () "foo(\"text\");"))

I get

    #<pointer 8049514>


Here is a patch to compiler.scm:

895,897c895,898
<                                           ,@(case rtype
<                                               ((nonnull-c-string) 
`((##sys#make-c-string (let () ,@(cddr lam)))))
<                                               ((c-string*)
---
                                               ,@(match rtype
                                                   ((or '(const 
nonnull-c-string) 'nonnull-c-string)
                                                    `((##sys#make-c-string (let 
() ,@(cddr lam)))))
                                                   ((or '(const c-string*) 
'c-string*)
901c902
<                                               ((c-string)
---
                                                   ((or 'c-string '(const 
c-string))
904c905
<                                               (else (cddr lam)) ) )
---
                                                   (_ (cddr lam)) ) )


cheers,
felix




reply via email to

[Prev in Thread] Current Thread [Next in Thread]