Exemplo n.º 1
0
static void
child ()
{
	int i;
	char *c, *g = (char *)malloc (strlen (tablist->getty) * sizeof (char));

	close(0);close(1);close(2);
	setsid();
	(void) open(tablist->dev,O_RDWR,0);
	(void) dup(0);
	(void) dup(0);

	/* find argc for getty */
	strcpy (g, tablist->getty);
	i = 1; strtok1 (g, " \t\n");
	while (strtok1 ((char *)0, " \t\n")) ++i;
	getty_argv = (char **)malloc (i * sizeof (char **));
	strcpy (g, tablist->getty);
	i = 1; c = strtok1 (g, " \t\n"); *getty_argv = c;
	while (c = strtok1 ((char *)NULL, " \t\n"))
		*(getty_argv + i++) = c;

	free_ttytab (tablist0);

	execve (*getty_argv, getty_argv, envp);
	sleep (GETTY_RETRY_DLAY);	/* don't hog system */
	_exit (0);
}
Exemplo n.º 2
0
static uint8_t populate_airplay_list(char *list[], char *string) {
  int i;
  char *tok;

  for ((i = 0, tok = strtok1(string, TOKEN));
       (tok != NULL) && (i < MAX_AP_DEVICES);
       (i++, tok = strtok1(NULL, TOKEN))) {

    list[i] = malloc(strlen(tok) + 1);
    strcpy(list[i], tok);
  }

  return i;
}