find.c 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /**************************************************************
  2. * I_find_group (group)
  3. *
  4. * Find the a group in the current mapset
  5. **************************************************************/
  6. #include <grass/imagery.h>
  7. #include <grass/gis.h>
  8. /*!
  9. * \brief does group exist?
  10. *
  11. * Returns 1 if the
  12. * specified <b>group</b> exists in the current mapset; 0 otherwise.
  13. *
  14. * \param group
  15. * \return int
  16. */
  17. int I_find_group(const char *group)
  18. {
  19. if (group == NULL || *group == 0)
  20. return 0;
  21. return G_find_file2("group", group, G_mapset()) != NULL;
  22. }
  23. int I_find_group_file(const char *group, const char *file)
  24. {
  25. if (!I_find_group(group))
  26. return 0;
  27. if (file == NULL || *file == 0)
  28. return 0;
  29. return G_find_file2_misc("group", file, group, G_mapset()) != NULL;
  30. }
  31. int I_find_subgroup(const char *group, const char *subgroup)
  32. {
  33. char element[GNAME_MAX];
  34. if (!I_find_group(group))
  35. return 0;
  36. if (subgroup == NULL || *subgroup == 0)
  37. return 0;
  38. sprintf(element, "subgroup/%s", subgroup);
  39. return G_find_file2_misc("group", element, group, G_mapset()) != NULL;
  40. }
  41. int I_find_subgroup_file(const char *group, const char *subgroup,
  42. const char *file)
  43. {
  44. char element[GNAME_MAX * 2];
  45. if (!I_find_group(group))
  46. return 0;
  47. if (subgroup == NULL || *subgroup == 0)
  48. return 0;
  49. if (file == NULL || *file == 0)
  50. return 0;
  51. sprintf(element, "subgroup/%s/%s", subgroup, file);
  52. return G_find_file2_misc("group", element, group, G_mapset()) != NULL;
  53. }