for (i = 0, p = environ; *p; p++)
{
/* Strip all these out, we'll replace some of them */
if ((strncmp (*p, "COLUMNS=", 8) == 0) ||
(strncmp (*p, "LINES=", 6) == 0) ||
(strncmp (*p, "WINDOWID=", 9) == 0) ||
(strncmp (*p, "TERM=", 5) == 0) ||
(strncmp (*p, "GNOME_DESKTOP_ICON=", 19) == 0) ||
(strncmp (*p, "COLORTERM=", 10) == 0) ||
(strncmp (*p, "DISPLAY=", 8) == 0))
{
/* nothing: do not copy */
}
else
{
retval[i] = g_strdup (*p);
++i;
}
}
retval[i] = g_strdup ("COLORTERM="EXECUTABLE_NAME);
++i;
retval[i] = g_strdup ("TERM=xterm"); /* FIXME configurable later? */
++i;
想把termcap的定义从xterm改成vt100或者linux,慢慢等着吧!