/*
- * starwars, Copyright (c) 1998-2001 Jamie Zawinski <jwz@jwz.org> and
+ * starwars, Copyright (c) 1998-2001, 2004 Jamie Zawinski <jwz@jwz.org> and
* Claudio Matsuoka <claudio@helllabs.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
};
static argtype vars[] = {
- {(caddr_t *) &program, "program", "Program", DEF_PROGRAM, t_String},
- {(caddr_t *) &max_lines, "lines", "Integer", DEF_LINES, t_Int},
- {(caddr_t *) &scroll_steps, "steps", "Integer", DEF_STEPS, t_Int},
- {(caddr_t *) &star_spin, "spin", "Float", DEF_SPIN, t_Float},
- {(caddr_t *) &font_size, "fontSize","Float", DEF_STEPS, t_Float},
- {(caddr_t *) &target_columns, "columns", "Integer", DEF_COLUMNS, t_Int},
- {(caddr_t *) &wrap_p, "lineWrap","Boolean", DEF_COLUMNS, t_Bool},
- {(caddr_t *) &alignment_str, "alignment","Alignment",DEF_ALIGN, t_String},
- {(caddr_t *) &smooth_p, "smooth", "Boolean", DEF_SMOOTH, t_Bool},
- {(caddr_t *) &thick_p, "thick", "Boolean", DEF_THICK, t_Bool},
- {(caddr_t *) &fade_p, "fade", "Boolean", DEF_FADE, t_Bool},
+ {&program, "program", "Program", DEF_PROGRAM, t_String},
+ {&max_lines, "lines", "Integer", DEF_LINES, t_Int},
+ {&scroll_steps, "steps", "Integer", DEF_STEPS, t_Int},
+ {&star_spin, "spin", "Float", DEF_SPIN, t_Float},
+ {&font_size, "fontSize", "Float", DEF_STEPS, t_Float},
+ {&target_columns, "columns", "Integer", DEF_COLUMNS, t_Int},
+ {&wrap_p, "lineWrap", "Boolean", DEF_COLUMNS, t_Bool},
+ {&alignment_str, "alignment", "Alignment", DEF_ALIGN, t_String},
+ {&smooth_p, "smooth", "Boolean", DEF_SMOOTH, t_Bool},
+ {&thick_p, "thick", "Boolean", DEF_THICK, t_Bool},
+ {&fade_p, "fade", "Boolean", DEF_FADE, t_Bool},
};
ModeSpecOpt sws_opts = {countof(opts), opts, countof(vars), vars, NULL};
{
oprogram = FORTUNE_PROGRAM;
-#ifdef __linux__
+#if defined(__linux__) && defined(HAVE_UNAME)
{
static int done_once = 0;
if (!done_once)
sprintf (cmd, "cat /usr/src/linux-%s/README", uts.release);
if (!stat (cmd+4, &st))
oprogram = cmd;
+ else
+ {
+ /* kernel source not installed? try X... */
+ strcpy (cmd, "cat /usr/X11R6/lib/X11/doc/README");
+ if (!stat (cmd+4, &st))
+ oprogram = cmd;
+ }
}
}
}
-#endif /* __linux__ */
+#endif /* __linux__ && HAVE_UNAME */
+
+#ifdef __APPLE__ /* MacOS X + XDarwin */
+ {
+ static int done_once = 0;
+ if (!done_once)
+ {
+ struct stat st;
+ static char *cmd = "cat /usr/X11R6/README";
+ if (!stat (cmd+4, &st))
+ oprogram = cmd;
+ }
+ }
+#endif /* __APPLE__ */
}
- program = (char *) malloc (strlen (oprogram) + 10);
+ program = (char *) malloc (strlen (oprogram) + 10);
strcpy (program, "( ");
strcat (program, oprogram);
strcat (program, " ) 2>&1");
if (sc->buf_tail > (s - sc->buf))
{
int i = sc->buf_tail - (s - sc->buf);
- memcpy (sc->buf, s, i);
+ memmove (sc->buf, s, i);
sc->buf_tail = i;
sc->buf[sc->buf_tail] = 0;
}
}
if (alignment >= 0)
- xoff = 1.0 - (glutStrokeLength(GLUT_FONT, line) * sc->font_scale);
+ xoff = 1.0 - (glutStrokeLength(GLUT_FONT,
+ (unsigned char *) line)
+ * sc->font_scale);
if (alignment == 0)
xoff /= 2;