[plt-scheme] PLT Scheme v370

From: Hans Oesterholt-Dijkema (hdnews at gawab.com)
Date: Fri May 25 04:19:31 EDT 2007

> In general, you should be careful with any C code that may keep a
> reference to something.  For example -- say that you allocate pull a C
> string out of a Scheme bytes object, and pass the pointer to a C
> function.  As long as the call is active, no GC will happen and things
> are fine -- but if the C code will keep a reference to that string and
> then return, then at some point in the future, the string may have
> been moved.
>   
Do you mean something like this?:


static char *global_pointer[10];

void f(Scheme_Object *o)
{
  char *s=SCHEME_STR_VAL(o);
  global_pointer[0]=s;
  ...
}

void g(Scheme_Object *o)
{
  char *s=SCHEME_STR_VAL(o);
  global_pointer[0]=s*+10*;
  ...
}

???








Posted on the users mailing list.