Exemple #1
0
static int _read_depfile(FILE * f, struct trie *nodes,
			 unsigned int *nnodesp)
{
    int len, newline, err;
    char token[LINE_MAX + 1];
    struct node *n;

    len = next_token(f, token, LINE_MAX + 1, &newline);
    while (len != EOF) {
	if (len == 0) {
	    fprintf(stderr, "Malformed dependency file\n");
	    return 1;
	}

	if (token[len - 1] != ':') {
	    fprintf(stderr, "Expected ':', got '%c'\n", token[len - 1]);
	    return 1;
	}
	token[len - 1] = '\0';

	n = get_node(nodes, token, nnodesp);
	if (!n)
	    return -1;

	if (!newline) {
	    err = read_depends(f, nodes, n, nnodesp);
	    if (err)
		return 1;
	}

	len = next_token(f, token, LINE_MAX + 1, &newline);
    }

    return 0;
}
void setup_triggers(void)
{
  Serial.println("setting up triggers");

  in_rfid = new input_trigger();
  in_rfid_auth = new input_trigger();
  in_button1 = new input_trigger();
  in_button2 = new input_trigger();
  in_opto = new input_trigger();

  out_opto = new output_trigger();
  
  in_rfid->set_name("input/rfid");
  in_rfid_auth->set_name("input/rfid/auth");

  in_button1->set_name("input/button1");
  in_button2->set_name("input/button2");
  in_opto->set_name("input/opto");

  out_opto->set_name("output/opto");

  // todo - set output actions.
  if (true) {
    trigger_run_all(dump_trigger);
  }

  /* we run through the configuration files in several passes. As we need
   * unique section names, we need to work through until weve read all
   * the lines */

  Serial.println("reading triggers");
  read_triggers();
  read_depends();

  if (true) {
    trigger_run_all(dump_trigger);
  }
}