home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / f2c / f77lib / s_cmp.c < prev    next >
C/C++ Source or Header  |  2000-06-22  |  609b  |  43 lines

  1. #include "f2c.h"
  2.  
  3. /* compare two strings */
  4.  
  5. #ifdef KR_headers
  6. integer s_cmp(a, b, la, lb) register char *a, *b; ftnlen la, lb;
  7. #else
  8. integer s_cmp(register char *a, register char *b, ftnlen la, ftnlen lb)
  9. #endif
  10. {
  11. register char *aend, *bend;
  12. aend = a + la;
  13. bend = b + lb;
  14.  
  15. if(la <= lb)
  16.     {
  17.     while(a < aend)
  18.         if(*a != *b)
  19.             return( *a - *b );
  20.         else
  21.             { ++a; ++b; }
  22.  
  23.     while(b < bend)
  24.         if(*b != ' ')
  25.             return( ' ' - *b );
  26.         else    ++b;
  27.     }
  28.  
  29. else
  30.     {
  31.     while(b < bend)
  32.         if(*a == *b)
  33.             { ++a; ++b; }
  34.         else
  35.             return( *a - *b );
  36.     while(a < aend)
  37.         if(*a != ' ')
  38.             return(*a - ' ');
  39.         else    ++a;
  40.     }
  41. return(0);
  42. }
  43.