# include <sys/signal.h>
# include <sys/stat.h>
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) && OSMAJORVERSION > 8
# include <utmpx.h>
#else
# include <utmp.h>
static void TerminateProcess( int pid, int sig) ;
static void UnlockPidFile( void ) ;
static void dtMakeDefaultDir( void );
-static void dtmkdir(char *dir, mode_t dir_mode);
+static void dtmkdir(char *dir, mode_t dir_mode, int force);
switch (msgnum) {
case 1:
- fprintf(tf,(char *)ReadCatalog(MC_LABEL_SET,MC_SUS1_LABEL,MC_DEF_SUS1_LABEL));
+ fprintf(tf, "%s", (char *)ReadCatalog(MC_LABEL_SET,MC_SUS1_LABEL,MC_DEF_SUS1_LABEL));
- fprintf(tf,(char *)ReadCatalog(MC_LABEL_SET,MC_SUS2_LABEL,MC_DEF_SUS2_LABEL));
+ fprintf(tf, "%s", (char *)ReadCatalog(MC_LABEL_SET,MC_SUS2_LABEL,MC_DEF_SUS2_LABEL));
- fprintf(tf,(char *)ReadCatalog(MC_LABEL_SET,MC_SUS3_LABEL,MC_DEF_SUS3_LABEL));
+ fprintf(tf, "%s", (char *)ReadCatalog(MC_LABEL_SET,MC_SUS3_LABEL,MC_DEF_SUS3_LABEL));
break;
case 2:
- fprintf(tf,(char *)ReadCatalog(MC_LABEL_SET,MC_RES_LABEL,MC_DEF_RES_LABEL));
+ fprintf(tf, "%s", (char *)ReadCatalog(MC_LABEL_SET,MC_RES_LABEL,MC_DEF_RES_LABEL));
break;
(char *)ReadCatalog(MC_LABEL_SET,MC_START_LBLDPY,MC_DEF_START_LBLDPY),
d->name);
- fprintf(tf,(char *)ReadCatalog(MC_LABEL_SET,MC_WAIT_LABEL,MC_DEF_WAIT_LABEL));
+ fprintf(tf, "%s", (char *)ReadCatalog(MC_LABEL_SET,MC_WAIT_LABEL,MC_DEF_WAIT_LABEL));
break;
int
GettyRunning( struct display *d )
{
+#if defined(__FreeBSD__) && OSMAJORVERSION > 8
+ 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];
return FALSE;
+#if defined(__FreeBSD__) && OSMAJORVERSION > 8
+ bzero(&utmp, sizeof(struct utmpx));
+#else
bzero(&utmp, sizeof(struct utmp));
+#endif
#ifdef _AIX
if (!strcmp(d->gettyLine,"console")) {
static void
dtMakeDefaultDir( void )
{
- dtmkdir("/var", 0775);
- dtmkdir("/var/dt", 0755);
- dtmkdir("/var/dt/tmp", 0755);
- dtmkdir("/var/dt/appconfig", 0755);
- dtmkdir("/var/dt/appconfig/appmanager", 0755);
+ dtmkdir("/var", 0755, 0);
+ dtmkdir("/var/dt", 0755, 1);
+ dtmkdir("/var/dt/tmp", 0755, 1);
+ dtmkdir("/var/dt/appconfig", 0755, 1);
+ dtmkdir("/var/dt/appconfig/appmanager", 0755, 1);
}
static void
-dtmkdir(char *dir, mode_t dir_mode)
+dtmkdir(char *dir, mode_t dir_mode, int force)
{
struct stat file_status;
LogError((unsigned char *)"Unable to create dir %s\n", dir);
}
} else {
- if ( (file_status.st_mode & dir_mode) != dir_mode) {
+ if ( force && (file_status.st_mode & dir_mode) != dir_mode) {
/** try to set correct permissions **/
if ( chmod(dir, file_status.st_mode | dir_mode) == 0) {
Debug("Set permissions on %s\n", dir);