diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/scheme/ao_scheme.h | 12 | ||||
| -rw-r--r-- | src/scheme/ao_scheme_builtin.c | 6 | ||||
| -rw-r--r-- | src/scheme/ao_scheme_error.c | 10 | ||||
| -rw-r--r-- | src/scheme/ao_scheme_make_builtin | 2 | ||||
| -rw-r--r-- | src/scheme/ao_scheme_make_const.c | 46 | 
5 files changed, 40 insertions, 36 deletions
| diff --git a/src/scheme/ao_scheme.h b/src/scheme/ao_scheme.h index db4417e5..7e4b3697 100644 --- a/src/scheme/ao_scheme.h +++ b/src/scheme/ao_scheme.h @@ -63,7 +63,7 @@ extern uint8_t ao_scheme_const[AO_SCHEME_POOL_CONST] __attribute__((aligned(4)))  #define ao_scheme_pool ao_scheme_const  #define AO_SCHEME_POOL AO_SCHEME_POOL_CONST -#define _atom(n) ao_scheme_atom_poly(ao_scheme_atom_intern(n)) +#define _atom(n) ao_scheme_atom_poly(ao_scheme_atom_intern((char *) n))  #define _bool(v) ao_scheme_bool_poly(ao_scheme_bool_get(v))  #define _ao_scheme_bool_true	_bool(1) @@ -940,19 +940,19 @@ ao_scheme_stack_eval(void);  /* error */  void -ao_scheme_vprintf(char *format, va_list args); +ao_scheme_vprintf(const char *format, va_list args);  void -ao_scheme_printf(char *format, ...); +ao_scheme_printf(const char *format, ...);  void -ao_scheme_error_poly(char *name, ao_poly poly, ao_poly last); +ao_scheme_error_poly(const char *name, ao_poly poly, ao_poly last);  void -ao_scheme_error_frame(int indent, char *name, struct ao_scheme_frame *frame); +ao_scheme_error_frame(int indent, const char *name, struct ao_scheme_frame *frame);  ao_poly -ao_scheme_error(int error, char *format, ...); +ao_scheme_error(int error, const char *format, ...);  /* builtins */ diff --git a/src/scheme/ao_scheme_builtin.c b/src/scheme/ao_scheme_builtin.c index c0f636fa..4def5704 100644 --- a/src/scheme/ao_scheme_builtin.c +++ b/src/scheme/ao_scheme_builtin.c @@ -52,7 +52,7 @@ char *ao_scheme_args_name(uint8_t args) {  	case AO_SCHEME_FUNC_LAMBDA: return ao_scheme_poly_atom(_ao_scheme_atom_lambda)->name;  	case AO_SCHEME_FUNC_NLAMBDA: return ao_scheme_poly_atom(_ao_scheme_atom_nlambda)->name;  	case AO_SCHEME_FUNC_MACRO: return ao_scheme_poly_atom(_ao_scheme_atom_macro)->name; -	default: return "???"; +	default: return (char *) "???";  	}  }  #else @@ -64,7 +64,7 @@ static char *  ao_scheme_builtin_name(enum ao_scheme_builtin_id b) {  	if (b < _builtin_last)  		return ao_scheme_poly_atom(builtin_names[b])->name; -	return "???"; +	return (char *) "???";  }  static const ao_poly ao_scheme_args_atoms[] = { @@ -79,7 +79,7 @@ ao_scheme_args_name(uint8_t args)  	args &= AO_SCHEME_FUNC_MASK;  	if (args < sizeof ao_scheme_args_atoms / sizeof ao_scheme_args_atoms[0])  		return ao_scheme_poly_atom(ao_scheme_args_atoms[args])->name; -	return "(unknown)"; +	return (char *) "(unknown)";  }  #endif diff --git a/src/scheme/ao_scheme_error.c b/src/scheme/ao_scheme_error.c index d580a2c0..c015c76a 100644 --- a/src/scheme/ao_scheme_error.c +++ b/src/scheme/ao_scheme_error.c @@ -16,7 +16,7 @@  #include <stdarg.h>  void -ao_scheme_error_poly(char *name, ao_poly poly, ao_poly last) +ao_scheme_error_poly(const char *name, ao_poly poly, ao_poly last)  {  	int first = 1;  	printf("\t\t%s(", name); @@ -50,7 +50,7 @@ static void tabs(int indent)  }  void -ao_scheme_error_frame(int indent, char *name, struct ao_scheme_frame *frame) +ao_scheme_error_frame(int indent, const char *name, struct ao_scheme_frame *frame)  {  	int			f; @@ -83,7 +83,7 @@ ao_scheme_error_frame(int indent, char *name, struct ao_scheme_frame *frame)  }  void -ao_scheme_vprintf(char *format, va_list args) +ao_scheme_vprintf(const char *format, va_list args)  {  	char c; @@ -112,7 +112,7 @@ ao_scheme_vprintf(char *format, va_list args)  }  void -ao_scheme_printf(char *format, ...) +ao_scheme_printf(const char *format, ...)  {  	va_list args;  	va_start(args, format); @@ -121,7 +121,7 @@ ao_scheme_printf(char *format, ...)  }  ao_poly -ao_scheme_error(int error, char *format, ...) +ao_scheme_error(int error, const char *format, ...)  {  	va_list	args; diff --git a/src/scheme/ao_scheme_make_builtin b/src/scheme/ao_scheme_make_builtin index 78f97789..a4d8326f 100644 --- a/src/scheme/ao_scheme_make_builtin +++ b/src/scheme/ao_scheme_make_builtin @@ -101,7 +101,7 @@ dump_casename(builtin_t[*] builtins) {  			       builtins[i].c_name, builtins[i].lisp_names[0]);  			dump_endif(builtins[i]);  		} -	printf("\tdefault: return \"???\";\n"); +	printf("\tdefault: return (char *) \"???\";\n");  	printf("\t}\n");  	printf("}\n");  	printf("#endif /* AO_SCHEME_BUILTIN_CASENAME */\n"); diff --git a/src/scheme/ao_scheme_make_const.c b/src/scheme/ao_scheme_make_const.c index 6bd552f5..d0a51ec8 100644 --- a/src/scheme/ao_scheme_make_const.c +++ b/src/scheme/ao_scheme_make_const.c @@ -30,15 +30,15 @@ ao_scheme_make_builtin(enum ao_scheme_builtin_id func, int args) {  }  struct builtin_func { -	char	*feature; -	char	*name; -	int	args; +	const char	*feature; +	const char	*name; +	int		args;  	enum ao_scheme_builtin_id	func;  };  struct builtin_atom { -	char	*feature; -	char	*name; +	const char	*feature; +	const char	*name;  };  #define AO_SCHEME_BUILTIN_CONSTS @@ -306,8 +306,8 @@ ao_scheme_add_feature(struct feature **list, char *name)  	*list = feature;  } -bool -ao_scheme_has_feature(struct feature *list, char *name) +static bool +ao_scheme_has_feature(struct feature *list, const char *name)  {  	while (list) {  		if (!strcmp(list->name, name)) @@ -317,17 +317,20 @@ ao_scheme_has_feature(struct feature *list, char *name)  	return false;  } -void -ao_scheme_add_features(struct feature **list, char *names) +static void +ao_scheme_add_features(struct feature **list, const char *names)  {  	char	*saveptr = NULL;  	char	*name; +	char	*copy = strdup(names); +	char	*save = copy; -	while ((name = strtok_r(names, ",", &saveptr)) != NULL) { -		names = NULL; +	while ((name = strtok_r(copy, ",", &saveptr)) != NULL) { +		copy = NULL;  		if (!ao_scheme_has_feature(*list, name))  			ao_scheme_add_feature(list, name);  	} +	free(save);  }  int @@ -407,7 +410,7 @@ main(int argc, char **argv)  				 */  				func_map[prev_func] = target_func++;  			} -			a = ao_scheme_atom_intern(funcs[f].name); +			a = ao_scheme_atom_intern((char *) funcs[f].name);  			ao_scheme_atom_def(ao_scheme_atom_poly(a),  					   ao_scheme_builtin_poly(b));  		} @@ -474,32 +477,33 @@ main(int argc, char **argv)  	fprintf(out, "#define _ao_scheme_bool_true 0x%04x\n", ao_scheme_bool_poly(ao_scheme_true));  	for (a = ao_scheme_atoms; a; a = ao_scheme_poly_atom(a->next)) { -		char	*n = a->name, c; +		const char	*n = a->name; +		char		ch;  		fprintf(out, "#define _ao_scheme_atom_"); -		while ((c = *n++)) { -			if (isalnum(c)) -				fprintf(out, "%c", c); +		while ((ch = *n++)) { +			if (isalnum(ch)) +				fprintf(out, "%c", ch);  			else -				fprintf(out, "%02x", c); +				fprintf(out, "%02x", ch);  		}  		fprintf(out, "  0x%04x\n", ao_scheme_atom_poly(a));  	}  	fprintf(out, "#ifdef AO_SCHEME_CONST_BITS\n");  	fprintf(out, "const uint8_t ao_scheme_const[AO_SCHEME_POOL_CONST] __attribute((aligned(4))) = {");  	for (o = 0; o < ao_scheme_top; o++) { -		uint8_t	c; +		uint8_t	ch;  		if ((o & 0xf) == 0)  			fprintf(out, "\n\t");  		else  			fprintf(out, " "); -		c = ao_scheme_const[o]; +		ch = ao_scheme_const[o];  		if (!in_atom)  			in_atom = is_atom(o);  		if (in_atom) { -			fprintf(out, " '%c',", c); +			fprintf(out, " '%c',", ch);  			in_atom--;  		} else { -			fprintf(out, "0x%02x,", c); +			fprintf(out, "0x%02x,", ch);  		}  	}  	fprintf(out, "\n};\n"); | 
