/[LeafOK_CVS]/lbbs/src/section_list.c
ViewVC logotype

Diff of /lbbs/src/section_list.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.9 by sysadm, Thu May 22 14:12:33 2025 UTC Revision 1.10 by sysadm, Fri May 23 00:12:59 2025 UTC
# Line 663  ARTICLE *section_list_find_article_with_ Line 663  ARTICLE *section_list_find_article_with_
663          p_article = p_section->p_page_first_article[*p_page];          p_article = p_section->p_page_first_article[*p_page];
664    
665          // p_section->p_page_first_article[*p_page]->aid <= aid < p_section->p_page_first_article[*p_page + 1]->aid          // p_section->p_page_first_article[*p_page]->aid <= aid < p_section->p_page_first_article[*p_page + 1]->aid
666          right = (*p_page == p_section->page_count - 1 ? INT32_MAX : p_section->p_page_first_article[*p_page + 1]->aid);          right = (*p_page == MAX(1, p_section->page_count) - 1 ? INT32_MAX : p_section->p_page_first_article[*p_page + 1]->aid);
667    
668          // left will be the offset of article found or offset to insert          // left will be the offset of article found or offset to insert
669          left = 0;          left = 0;
670    
671          while (1)          while (aid > p_article->aid)
672          {          {
                 if (aid == p_article->aid) // found  
                 {  
                         break;  
                 }  
                 else if (aid < p_article->aid) // not exist  
                 {  
                         p_article = NULL;  
                         break;  
                 }  
   
673                  // aid > p_article->aid                  // aid > p_article->aid
674                  p_article = p_article->p_next;                  p_article = p_article->p_next;
675                  left++;                  left++;
# Line 687  ARTICLE *section_list_find_article_with_ Line 677  ARTICLE *section_list_find_article_with_
677                  // over last article in the page                  // over last article in the page
678                  if (p_article == p_section->p_article_head || p_article->aid >= right)                  if (p_article == p_section->p_article_head || p_article->aid >= right)
679                  {                  {
                         p_article = NULL;  
680                          break;                          break;
681                  }                  }
682          }          }
683    
684            if (aid != p_article->aid) // not exist
685            {
686                    p_article = NULL;
687            }
688    
689          *p_offset = left;          *p_offset = left;
690    
691          return p_article;          return p_article;


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1