find.c 700 B

1234567891011121314151617181920212223242526272829303132
  1. #include <stdlib.h>
  2. #include <string.h>
  3. #include "global.h"
  4. /* returns index to array of values, inserts new if necessary */
  5. int find_cat(int cat, int add)
  6. {
  7. int i;
  8. for (i = 0; i < vstat.rcat; i++)
  9. if (Values[i].cat == cat)
  10. return i;
  11. if (!add)
  12. return -1;
  13. /* Not found -> add new */
  14. Values[vstat.rcat].cat = cat;
  15. Values[vstat.rcat].count1 = 0;
  16. Values[vstat.rcat].count1 = 0;
  17. Values[vstat.rcat].i1 = -1;
  18. Values[vstat.rcat].i2 = -1;
  19. Values[vstat.rcat].d1 = 0.0;
  20. Values[vstat.rcat].d2 = 0.0;
  21. Values[vstat.rcat].qcat = NULL;
  22. Values[vstat.rcat].nqcats = 0;
  23. Values[vstat.rcat].aqcats = 0;
  24. vstat.rcat++;
  25. return (vstat.rcat - 1);
  26. }