Closes #18. Change to char32_t everywhere; builds fine, behaviour as before.
This commit is contained in:
parent
812a1be7d9
commit
c59825d7fe
33 changed files with 116 additions and 76 deletions
|
|
@ -10,6 +10,7 @@
|
|||
/*
|
||||
* wide characters
|
||||
*/
|
||||
#include <uchar.h>
|
||||
#include <wchar.h>
|
||||
#include <wctype.h>
|
||||
|
||||
|
|
@ -28,7 +29,7 @@ struct pso_pointer make_character( wint_t c ) {
|
|||
|
||||
if ( !nilp( result ) ) {
|
||||
pointer_to_object( result )->payload.character.character =
|
||||
( wchar_t ) c;
|
||||
( char32_t ) c;
|
||||
}
|
||||
|
||||
return result;
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
/*
|
||||
* wide characters
|
||||
*/
|
||||
#include <uchar.h>
|
||||
#include <wchar.h>
|
||||
#include <wctype.h>
|
||||
|
||||
|
|
@ -33,7 +34,7 @@
|
|||
* @brief a single character, as returned by the reader.
|
||||
*/
|
||||
struct character_payload {
|
||||
wchar_t character;
|
||||
char32_t character;
|
||||
};
|
||||
|
||||
struct pso_pointer make_character( wint_t c );
|
||||
|
|
|
|||
|
|
@ -30,7 +30,8 @@
|
|||
* @param cdr the pointer which should form the cdr of this cons cell.
|
||||
* @return struct pso_pointer a pointer to the newly allocated cons cell.
|
||||
*/
|
||||
struct pso_pointer c_cons( struct pso_pointer car, struct pso_pointer cdr ) {
|
||||
struct pso_pointer c_cons(struct pso_pointer car, struct pso_pointer cdr) {
|
||||
// todo: issue #21: must have stack frame passed in.
|
||||
struct pso_pointer result = allocate( CONSTAG, 2 );
|
||||
|
||||
struct pso2 *object = pointer_to_object( result );
|
||||
|
|
@ -67,7 +68,8 @@ struct pso_pointer c_car( struct pso_pointer cons ) {
|
|||
* @return the cdr of the indicated cell.
|
||||
* @exception if the pointer does not indicate a cons cell.
|
||||
*/
|
||||
struct pso_pointer c_cdr( struct pso_pointer p ) {
|
||||
struct pso_pointer c_cdr(struct pso_pointer p) {
|
||||
// todo: issue #21: must have stack frame passed in.
|
||||
struct pso_pointer result = nil;
|
||||
struct pso2 *object = pointer_to_object( p );
|
||||
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ struct pso_pointer c_car( struct pso_pointer cons );
|
|||
|
||||
struct pso_pointer c_cdr( struct pso_pointer cons );
|
||||
|
||||
// todo: issue #21: must have stack frame passed in.
|
||||
struct pso_pointer c_cons( struct pso_pointer car, struct pso_pointer cdr );
|
||||
|
||||
struct pso_pointer destroy_cons( struct pso_pointer fp,
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@
|
|||
*/
|
||||
struct pso_pointer make_frame( int arg_count, struct pso_pointer previous,
|
||||
... ) {
|
||||
// todo: issue #21: must have stack frame passed in.
|
||||
va_list args;
|
||||
va_start( args, previous );
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue