diff --git a/src/motif/server/datatrans.c b/src/motif/server/datatrans.c index e9f960ebae56053e1ba93bdc32fee9d9989ee4ee..cff33799b51ffc382c6dc149ff0a5573604ee89b 100644 --- a/src/motif/server/datatrans.c +++ b/src/motif/server/datatrans.c @@ -265,10 +265,10 @@ void message_write_color(message_t m,XColor *color,int tag) message_put_word(m,color->blue); } -void message_write_float(message_t m,float f,int tag) +void message_write_float(message_t m,void *f,int tag) { message_put_dblword(m,combine_type_and_data(tag,0)); - message_put_dblword(m,f); + message_put_dblword(m,*(long *) f); } @@ -524,8 +524,8 @@ void message_read_color(message_t m,XColor *color,int tag, int red) void message_read_float(message_t m,float *f,int tag,int data) { - fprintf(stderr,">>>>> Warning:message_read_float: Not implemented.\n"); - fflush(stderr); + long d = message_get_dblword(m); + memcpy(f, &d, sizeof(*f)); } diff --git a/src/motif/server/datatrans.h b/src/motif/server/datatrans.h index 7411a1751b1404736e37928c6e819595bf8933cc..71ca4daceec5e62da933cd5cb94b6843b716d284 100644 --- a/src/motif/server/datatrans.h +++ b/src/motif/server/datatrans.h @@ -38,7 +38,7 @@ extern void message_write_int_list(); extern void message_write_event(); extern void message_write_color(); /* GCC complains without the full prototype */ -extern void message_write_float(message_t,float,int); +extern void message_write_float(message_t,void *,int); diff --git a/src/motif/server/tables.h b/src/motif/server/tables.h index 50678a9a6bdd92b35b44ee589b533fb4ba773db4..db6159bb426f77cd7814e46f79c286bacf352f4f 100644 --- a/src/motif/server/tables.h +++ b/src/motif/server/tables.h @@ -10,8 +10,8 @@ #ifndef TABLES_H #define TABLES_H -typedef void (*type_writer)(message_t out,caddr_t src,int type_tag); -typedef void (*type_reader)(message_t in,caddr_t dest,int type_tag,int data); +typedef void (*type_writer)(message_t out,void *src,int type_tag); +typedef void (*type_reader)(message_t in,void *dest,int type_tag,int data); typedef struct { String type;