str.h 776 B

123456789101112131415161718192021222324252627282930313233343536
  1. // Written by Julien Muchembled.
  2. // Fixed by Romain Lievin for Linux.
  3. // Copyright (c) 2001. All rights reserved.
  4. #include <string.h>
  5. #if !defined(WIN32) && !defined(__WIN32__)
  6. # if defined(__UNIX__) || defined(__LINUX__)
  7. # define _stricmp(s1, s2) (strcasecmp ((s1), (s2)))
  8. # else
  9. int _stricmp (const char *dst, const char *src)
  10. {
  11. int f,l;
  12. do {
  13. f = (unsigned char)*dst++;
  14. if (f >= 'A' && f <= 'Z') f -= 'A' - 'a';
  15. l = (unsigned char)*src++;
  16. if (l >= 'A' && l <= 'Z') l -= 'A' - 'a';
  17. } while (f && (f == l));
  18. return f - l;
  19. }
  20. # endif
  21. #endif
  22. #if !defined(WIN32) && !defined(__WIN32__)
  23. char *_strlwr (char *string)
  24. {
  25. unsigned char *dst = NULL; char * cp;
  26. for (cp=string; *cp; ++cp)
  27. if ('A' <= *cp && *cp <= 'Z')
  28. *cp += 'a' - 'A';
  29. return string;
  30. }
  31. #endif