charref (s, n) char *s; {
    return * (char *) (s + n);
}

shortref (s, n) char  *s; {
    return * (short *) (s + n);
}

longref (s, n) char  *s; {
    return * (int *) (s + n);
}

charset (s, n, v) char *s; {
    *(char *) (s + n) = v;
}

shortset (s, n, v) char   *s; {
    *(short *) (s + n) = v;
}

longset (s, n, v) char   *s; {
    *(int *) (s + n) = v;
}

/*
Truc ge'ne'ral pour manipuler des chai↑nes Lisp en C
 */

char *cstring (lispstring, length) char *lispstring; {
char *s = (char *)malloc (length+1);
     strncpy (s, lispstring, length+1);
     return s;
}