From 33da5fa944db11a4a779cf2976941ed3bdd4e02f Mon Sep 17 00:00:00 2001 From: Ulrich Wilkens Date: Wed, 5 Sep 2012 16:26:28 +0200 Subject: [PATCH] Fixes for dtlogin and dtcm on FreeBSD. --- cde/programs/dtcm/dtcm/cm_i18n.c | 2 ++ cde/programs/dtcm/dtcm/deskset.c | 6 +++--- cde/programs/dtlogin/account.c | 5 +++++ cde/programs/dtlogin/dm.c | 9 +++++++++ cde/programs/dtlogin/fontpath.c | 4 ++++ cde/programs/dtlogin/session.c | 4 ++++ 6 files changed, 27 insertions(+), 3 deletions(-) diff --git a/cde/programs/dtcm/dtcm/cm_i18n.c b/cde/programs/dtcm/dtcm/cm_i18n.c index 54fa5c6e..0b15d2f6 100644 --- a/cde/programs/dtcm/dtcm/cm_i18n.c +++ b/cde/programs/dtcm/dtcm/cm_i18n.c @@ -388,6 +388,8 @@ cm_printf(double value, int decimal_pt) } #ifdef SunOS fconvert(value, decimal_pt, &deci_pt, &sign, buf); +#elif defined(__FreeBSD__) + snprintf(buf, decimal_pt, "%f", value); #else /* this version, available on the HP and AIX machine is not reentrant. */ diff --git a/cde/programs/dtcm/dtcm/deskset.c b/cde/programs/dtcm/dtcm/deskset.c index 2eb47bd0..17fb20aa 100644 --- a/cde/programs/dtcm/dtcm/deskset.c +++ b/cde/programs/dtcm/dtcm/deskset.c @@ -132,7 +132,7 @@ ds_position_popup(Widget base, Widget popup, ds_location_op location_op) { XmNy, &base_y, XmNwidth, &base_width, XmNheight, &base_height, - 0) ; + NULL) ; bx = (int) base_x ; by = (int) base_y ; bw = (int) base_width ; @@ -143,7 +143,7 @@ ds_position_popup(Widget base, Widget popup, ds_location_op location_op) { XmNy, &popup_y, XmNwidth, &popup_width, XmNheight, &popup_height, - 0) ; + NULL) ; px = (int) popup_x ; py = (int) popup_y ; @@ -232,7 +232,7 @@ ds_force_popup_on_screen(Widget popup, int *popup_x_p, int *popup_y_p) { XtVaGetValues(popup, XmNwidth, &popup_width, XmNheight, &popup_height, - 0) ; + NULL) ; /* Make sure frame does not go off side of screen */ diff --git a/cde/programs/dtlogin/account.c b/cde/programs/dtlogin/account.c index e14389d4..649161df 100644 --- a/cde/programs/dtlogin/account.c +++ b/cde/programs/dtlogin/account.c @@ -57,7 +57,12 @@ #endif #include +#if defined(__FreeBSD__) +#include +#else #include +#endif + #include #include "dm.h" diff --git a/cde/programs/dtlogin/dm.c b/cde/programs/dtlogin/dm.c index 52bcb902..3c9fc6e6 100644 --- a/cde/programs/dtlogin/dm.c +++ b/cde/programs/dtlogin/dm.c @@ -1697,8 +1697,13 @@ GettyMessage( struct display *d, int msgnum ) int GettyRunning( struct display *d ) { +#if defined(__FreeBSD__) + struct utmpx utmp; /* local struct for new entry */ + struct utmpx *u; /* pointer to entry in utmp file */ +#else struct utmp utmp; /* local struct for new entry */ struct utmp *u; /* pointer to entry in utmp file */ +#endif int rvalue; /* return value (TRUE or FALSE) */ char buf[32]; @@ -1717,7 +1722,11 @@ GettyRunning( struct display *d ) return FALSE; +#if defined(__FreeBSD__) + bzero(&utmp, sizeof(struct utmpx)); +#else bzero(&utmp, sizeof(struct utmp)); +#endif #ifdef _AIX if (!strcmp(d->gettyLine,"console")) { diff --git a/cde/programs/dtlogin/fontpath.c b/cde/programs/dtlogin/fontpath.c index c37e2b83..43173ba1 100644 --- a/cde/programs/dtlogin/fontpath.c +++ b/cde/programs/dtlogin/fontpath.c @@ -39,7 +39,11 @@ # include # include # include +#if defined(__FreeBSD__) +# include +#else # include +#endif # include "vgproto.h" /* diff --git a/cde/programs/dtlogin/session.c b/cde/programs/dtlogin/session.c index a1fbaa6a..57e73948 100644 --- a/cde/programs/dtlogin/session.c +++ b/cde/programs/dtlogin/session.c @@ -65,7 +65,11 @@ # include # include # include +#if defined(__FreeBSD__) +# include +#else # include +#endif #include #include #include -- 2.25.1