@@ -2905,15 +2905,13 @@ us_compare(const void *larg, const void *rarg)
29052905 uint64_t rv64 = 0 ;
29062906 zfs_prop_t prop = sortcol -> sc_prop ;
29072907 const char * propname = NULL ;
2908- boolean_t reverse = sortcol -> sc_reverse ;
29092908
29102909 switch (prop ) {
29112910 case ZFS_PROP_TYPE :
29122911 propname = "type" ;
29132912 (void ) nvlist_lookup_uint32 (lnvl , propname , & lv32 );
29142913 (void ) nvlist_lookup_uint32 (rnvl , propname , & rv32 );
2915- if (rv32 != lv32 )
2916- rc = (rv32 < lv32 ) ? 1 : -1 ;
2914+ rc = TREE_CMP (lv32 , rv32 );
29172915 break ;
29182916 case ZFS_PROP_NAME :
29192917 propname = "name" ;
@@ -2923,16 +2921,15 @@ us_compare(const void *larg, const void *rarg)
29232921 & lv64 );
29242922 (void ) nvlist_lookup_uint64 (rnvl , propname ,
29252923 & rv64 );
2926- if (rv64 != lv64 )
2927- rc = (rv64 < lv64 ) ? 1 : -1 ;
2924+ rc = TREE_CMP (lv64 , rv64 );
29282925 } else {
29292926 if ((nvlist_lookup_string (lnvl , propname ,
29302927 & lvstr ) == ENOENT ) ||
29312928 (nvlist_lookup_string (rnvl , propname ,
29322929 & rvstr ) == ENOENT )) {
29332930 goto compare_nums ;
29342931 }
2935- rc = strcmp (lvstr , rvstr );
2932+ rc = TREE_ISIGN ( strcmp (lvstr , rvstr ) );
29362933 }
29372934 break ;
29382935 case ZFS_PROP_USED :
@@ -2945,19 +2942,17 @@ us_compare(const void *larg, const void *rarg)
29452942 propname = "quota" ;
29462943 (void ) nvlist_lookup_uint64 (lnvl , propname , & lv64 );
29472944 (void ) nvlist_lookup_uint64 (rnvl , propname , & rv64 );
2948- if (rv64 != lv64 )
2949- rc = (rv64 < lv64 ) ? 1 : -1 ;
2945+ rc = TREE_CMP (lv64 , rv64 );
29502946 break ;
29512947
29522948 default :
29532949 break ;
29542950 }
29552951
29562952 if (rc != 0 ) {
2957- if (rc < 0 )
2958- return (reverse ? 1 : -1 );
2959- else
2960- return (reverse ? -1 : 1 );
2953+ if (sortcol -> sc_reverse )
2954+ return (- rc );
2955+ return (rc );
29612956 }
29622957 }
29632958
@@ -2969,7 +2964,7 @@ us_compare(const void *larg, const void *rarg)
29692964 if (nvlist_lookup_boolean_value (lnvl , "smbentity" , & lvb ) == 0 &&
29702965 nvlist_lookup_boolean_value (rnvl , "smbentity" , & rvb ) == 0 &&
29712966 lvb != rvb )
2972- return (lvb < rvb ? -1 : 1 );
2967+ return (TREE_CMP ( lvb , rvb ) );
29732968
29742969 return (0 );
29752970}
@@ -5497,11 +5492,11 @@ who_perm_compare(const void *larg, const void *rarg)
54975492 zfs_deleg_who_type_t rtype = r -> who_perm .who_type ;
54985493 int lweight = who_type2weight (ltype );
54995494 int rweight = who_type2weight (rtype );
5500- int res = lweight - rweight ;
5495+ int res = TREE_CMP ( lweight , rweight ) ;
55015496 if (res == 0 )
5502- res = strncmp (l -> who_perm . who_name , r -> who_perm .who_name ,
5503- ZFS_MAX_DELEG_NAME - 1 );
5504- return (TREE_ISIGN ( res ) );
5497+ res = TREE_ISIGN ( strncmp (l -> who_perm .who_name ,
5498+ r -> who_perm . who_name , ZFS_MAX_DELEG_NAME - 1 ) );
5499+ return (res );
55055500}
55065501
55075502static int
0 commit comments