[BACK]Return to kstat.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / kstat

Diff for /src/usr.bin/kstat/kstat.c between version 1.3 and 1.4

version 1.3, 2020/08/10 06:39:52 version 1.4, 2020/08/10 06:51:40
Line 67 
Line 67 
   
 TAILQ_HEAD(kstat_filters, kstat_filter);  TAILQ_HEAD(kstat_filters, kstat_filter);
   
   struct kstat_entry {
           struct kstat_req        kstat;
           RBT_ENTRY(kstat_entry)  entry;
           int                     serrno;
   };
   
   RBT_HEAD(kstat_tree, kstat_entry);
   
   static inline int
   kstat_cmp(const struct kstat_entry *ea, const struct kstat_entry *eb)
   {
           const struct kstat_req *a = &ea->kstat;
           const struct kstat_req *b = &eb->kstat;
           int rv;
   
           rv = strncmp(a->ks_provider, b->ks_provider, sizeof(a->ks_provider));
           if (rv != 0)
                   return (rv);
           if (a->ks_instance > b->ks_instance)
                   return (1);
           if (a->ks_instance < b->ks_instance)
                   return (-1);
   
           rv = strncmp(a->ks_name, b->ks_name, sizeof(a->ks_name));
           if (rv != 0)
                   return (rv);
           if (a->ks_unit > b->ks_unit)
                   return (1);
           if (a->ks_unit < b->ks_unit)
                   return (-1);
   
           return (0);
   }
   
   RBT_PROTOTYPE(kstat_tree, kstat_entry, entry, kstat_cmp);
   RBT_GENERATE(kstat_tree, kstat_entry, entry, kstat_cmp);
   
 static struct kstat_filter *  static struct kstat_filter *
                 kstat_filter_parse(char *);                  kstat_filter_parse(char *);
 static int      kstat_filter_entry(struct kstat_filters *,  static int      kstat_filter_entry(struct kstat_filters *,
Line 211 
Line 248 
   
         return (0);          return (0);
 }  }
   
 struct kstat_entry {  
         struct kstat_req        kstat;  
         RBT_ENTRY(kstat_entry)  entry;  
         int                     serrno;  
 };  
   
 RBT_HEAD(kstat_tree, kstat_entry);  
   
 static inline int  
 kstat_cmp(const struct kstat_entry *ea, const struct kstat_entry *eb)  
 {  
         const struct kstat_req *a = &ea->kstat;  
         const struct kstat_req *b = &eb->kstat;  
         int rv;  
   
         rv = strncmp(a->ks_provider, b->ks_provider, sizeof(a->ks_provider));  
         if (rv != 0)  
                 return (rv);  
         if (a->ks_instance > b->ks_instance)  
                 return (1);  
         if (a->ks_instance < b->ks_instance)  
                 return (-1);  
   
         rv = strncmp(a->ks_name, b->ks_name, sizeof(a->ks_name));  
         if (rv != 0)  
                 return (rv);  
         if (a->ks_unit > b->ks_unit)  
                 return (1);  
         if (a->ks_unit < b->ks_unit)  
                 return (-1);  
   
         return (0);  
 }  
   
 RBT_PROTOTYPE(kstat_tree, kstat_entry, entry, kstat_cmp);  
 RBT_GENERATE(kstat_tree, kstat_entry, entry, kstat_cmp);  
   
 static int  static int
 printable(int ch)  printable(int ch)

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4