pathutils.cpp 702 B

12345678910111213141516171819202122232425262728293031323334
  1. #include <windows.h>
  2. #include <string.h>
  3. #include "..\..\common_h\Storm3Crt.h"
  4. static char BigBuffer[MAX_PATH];
  5. static char Path1[MAX_PATH];
  6. static char Path2[MAX_PATH];
  7. const char* MakeRelativePath (const char* fullpath, const char* relativeto)
  8. {
  9. crt_strncpy (Path1, MAX_PATH, fullpath, MAX_PATH-1);
  10. crt_strncpy (Path2, MAX_PATH, relativeto, MAX_PATH-1);
  11. crt_strlwr (Path1);
  12. crt_strlwr (Path2);
  13. int Len = strlen(Path2);
  14. if (Len)
  15. if (Path2[Len-1] != '\\') crt_strcat (Path2, MAX_PATH, "\\");
  16. char* result = strstr(Path1, Path2);
  17. if (result != Path1)
  18. {
  19. BigBuffer[0] = 0;
  20. } else
  21. {
  22. crt_strncpy (BigBuffer, MAX_PATH, Path1+strlen(Path2), MAX_PATH-1);
  23. }
  24. return BigBuffer;
  25. }