printf("More? [y] ");
fflush(stdout);
- fgets(buffer, sizeof(buffer), stdin);
-
- if (buffer[0] == 'n' || buffer[0] == 'N')
- throw_to_monitor();
- else
+ if (fgets(buffer, sizeof(buffer), stdin)) {
+ if (buffer[0] == 'n' || buffer[0] == 'N')
+ throw_to_monitor();
+ else
+ cur_lines = 0;
+ } else {
+ printf("\nUnable to read response, assuming y.\n");
cur_lines = 0;
+ }
}
}
static void brief_otherimm(lispobj obj)
{
- int type, c, idx;
+ int type, c;
+ unsigned int idx;
char buffer[10];
type = widetag_of(obj);
static void print_otherimm(lispobj obj)
{
- int type, idx;
+ int type;
+
+ unsigned int idx;
type = widetag_of(obj);
idx = type >> 2;
obj = NIL;
break;
}
- print_obj(NULL, cons->car);
+ print_obj("", cons->car);
obj = cons->cdr;
space = 1;
if (obj == NIL)
}
if (obj != NIL) {
printf(" . ");
- print_obj(NULL, obj);
+ print_obj("", obj);
}
putchar(')');
}
}
-static void print_unknown(lispobj obj)
-{
- printf("unknown object: %p", (void *)obj);
-}
-
+#ifdef LISP_FEATURE_X86_64
static void print_unknown(lispobj obj)
{
printf("unknown object: %p", (void *)obj);
}
+#endif
static void print_list(lispobj obj)
{
static void print_struct(lispobj obj)
{
struct instance *instance = (struct instance *)native_pointer(obj);
- int i;
+ unsigned int i;
char buffer[16];
print_obj("type: ", ((struct instance *)native_pointer(obj))->slots[0]);
for (i = 1; i < HeaderValue(instance->header); i++) {
#ifdef COMPLEX_SINGLE_FLOAT_WIDETAG
case COMPLEX_SINGLE_FLOAT_WIDETAG:
NEWLINE_OR_RETURN;
+#ifdef LISP_FEATURE_X86_64
+ printf("%g", ((struct complex_single_float *)native_pointer(obj))->data.data[0]);
+#else
printf("%g", ((struct complex_single_float *)native_pointer(obj))->real);
+#endif
NEWLINE_OR_RETURN;
+#ifdef LISP_FEATURE_X86_64
+ printf("%g", ((struct complex_single_float *)native_pointer(obj))->data.data[1]);
+#else
printf("%g", ((struct complex_single_float *)native_pointer(obj))->imag);
+#endif
break;
#endif
dont_descend = 1;
if (var == NULL &&
- /* FIXME: What does this "x & y & z & .." expression mean? */
- (obj & FUN_POINTER_LOWTAG & LIST_POINTER_LOWTAG & INSTANCE_POINTER_LOWTAG & OTHER_POINTER_LOWTAG) != 0)
+ ((obj & LOWTAG_MASK) == FUN_POINTER_LOWTAG ||
+ (obj & LOWTAG_MASK) == LIST_POINTER_LOWTAG ||
+ (obj & LOWTAG_MASK) == INSTANCE_POINTER_LOWTAG ||
+ (obj & LOWTAG_MASK) == OTHER_POINTER_LOWTAG))
var = define_var(NULL, obj, 0);
if (var != NULL)