| | @@ -862,10 +862,27 @@ |
| 862 | 862 | a = *zA++; |
| 863 | 863 | b = *zB++; |
| 864 | 864 | }while( a==b && a!=0 ); |
| 865 | 865 | return ((unsigned char)a) - (unsigned char)b; |
| 866 | 866 | } |
| 867 | +} |
| 868 | +int fossil_strncmp(const char *zA, const char *zB, int nByte){ |
| 869 | + if( zA==0 ){ |
| 870 | + if( zB==0 ) return 0; |
| 871 | + return -1; |
| 872 | + }else if( zB==0 ){ |
| 873 | + return +1; |
| 874 | + }else if( nByte>0 ){ |
| 875 | + int a, b; |
| 876 | + do{ |
| 877 | + a = *zA++; |
| 878 | + b = *zB++; |
| 879 | + }while( a==b && a!=0 && (--nByte)>0 ); |
| 880 | + return ((unsigned char)a) - (unsigned char)b; |
| 881 | + }else{ |
| 882 | + return 0; |
| 883 | + } |
| 867 | 884 | } |
| 868 | 885 | |
| 869 | 886 | /* |
| 870 | 887 | ** Case insensitive string comparison. |
| 871 | 888 | */ |
| 872 | 889 | |