Author: mav
Date: Fri Jun 21 23:29:16 2019
New Revision: 349281
URL: https://svnweb.freebsd.org/changeset/base/349281

Log:
  Fix individual_element_index when some type has 0 elements.
  
  When some type has 0 elements, saved_individual_element_index was set
  to -1 on second type bump, since individual_element_index was not
  restored after the first.  To me it looks easier just to increment
  saved_individual_element_index separately than think when to save it.
  
  MFC after:    2 weeks

Modified:
  head/sys/cam/scsi/scsi_enc_ses.c

Modified: head/sys/cam/scsi/scsi_enc_ses.c
==============================================================================
--- head/sys/cam/scsi/scsi_enc_ses.c    Fri Jun 21 21:50:14 2019        
(r349280)
+++ head/sys/cam/scsi/scsi_enc_ses.c    Fri Jun 21 23:29:16 2019        
(r349281)
@@ -444,6 +444,7 @@ ses_iter_next(struct ses_iterator *iter)
                iter->type_element_index       = ITERATOR_INDEX_END;
                iter->global_element_index     = ITERATOR_INDEX_END;
                iter->individual_element_index = ITERATOR_INDEX_END;
+               iter->saved_individual_element_index = ITERATOR_INDEX_END;
                return (NULL);
        }
 
@@ -468,17 +469,12 @@ ses_iter_next(struct ses_iterator *iter)
                 */
                iter->type_index++;
                iter->type_element_index = 0;
-               iter->saved_individual_element_index
-                   = iter->individual_element_index;
                iter->individual_element_index = ITERATOR_INDEX_INVALID;
        }
 
        if (iter->type_element_index > 0) {
-               if (iter->type_element_index == 1) {
-                       iter->individual_element_index
-                           = iter->saved_individual_element_index;
-               }
-               iter->individual_element_index++;
+               iter->individual_element_index =
+                   ++iter->saved_individual_element_index;
        }
 
        return (&iter->cache->elm_map[iter->global_element_index]);
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to