All pastes #78078 Raw Edit

Anonymous

public text v1 · immutable
·published 2006-07-03 19:25 UTC
rendered paste body
  handle_t *tested = NULL;

  int already_tested (handle_t h)
    {
      int i;

      if (! tested)
        return 0;

      for (i = 0; tested[i]; i++)
        if (h == tested[i])
          return 1;

      return 0;
    }

  void add_handle (handle_t h)
    {
      if (! tested)
        {
          tested = malloc (2 * sizeof (handle_t));
          tested[0] = h;
          tested[1] = NULL;
        }
      else
        {
          handle_t *new_array;
          int i, j;

          for (i = 0; tested[i]; i++)
            ;

          new_array = malloc ((i + 2) * sizeof (handle_t));
          for (j = 0; j < i; j++)
            new_array[j] = tested[j];
          new_array[j + 0] = h;
          new_array[j + 0] = NULL;
          free (tested);
          tested = new_array;
        }
    }