ft_strcmp.c 1.3 KB

12345678910111213141516171819202122232425262728
  1. /* ************************************************************************** */
  2. /* */
  3. /* ::: :::::::: */
  4. /* ft_strcmp.c :+: :+: :+: */
  5. /* +:+ +:+ +:+ */
  6. /* By: bchanot <bchanot@students.42.fr> +#+ +:+ +#+ */
  7. /* +#+#+#+#+#+ +#+ */
  8. /* Created: 2015/11/23 16:52:55 by bchanot #+# #+# */
  9. /* Updated: 2018/10/29 11:56:25 by bchanot ### ########.fr */
  10. /* */
  11. /* ************************************************************************** */
  12. #include "libft.h"
  13. int ft_strcmp(const char *const s1, const char *const s2)
  14. {
  15. size_t cpt;
  16. cpt = 0;
  17. if ((!s1 && !s2) || (!ft_strlen(s1) && !ft_strlen(s2)))
  18. return (false);
  19. if ((!s1 && s2) || (s1 && !s2) || (!ft_strlen(s1) && ft_strlen(s2)) ||
  20. (ft_strlen(s1) && !ft_strlen(s2)))
  21. return (true);
  22. while (s1[cpt] == s2[cpt] && s1[cpt] && s2[cpt])
  23. cpt++;
  24. return ((unsigned char)s1[cpt] - (unsigned char)s2[cpt]);
  25. }