/[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.47 by sysadm, Fri Oct 24 02:08:19 2025 UTC Revision 1.49 by sysadm, Mon Nov 3 08:48:56 2025 UTC
# Line 1084  int section_list_page_article_count_with Line 1084  int section_list_page_article_count_with
1084          }          }
1085          else // if (page_id >= p_section->page_count - 1)          else // if (page_id >= p_section->page_count - 1)
1086          {          {
1087                  return MAX(0, (p_section->last_page_visible_article_count + p_section->ontop_article_count -                  return MIN(MAX(0,
1088                                             BBS_article_limit_per_page * (page_id - p_section->page_count + 1)));                                             (p_section->last_page_visible_article_count + p_section->ontop_article_count -
1089                                                    BBS_article_limit_per_page * (page_id - p_section->page_count + 1))),
1090                                       BBS_article_limit_per_page);
1091          }          }
1092  }  }
1093    
# Line 1560  int get_section_index(SECTION_LIST *p_se Line 1562  int get_section_index(SECTION_LIST *p_se
1562          return index;          return index;
1563  }  }
1564    
1565    int get_section_info(SECTION_LIST *p_section, char *sname, char *stitle, char *master_list)
1566    {
1567            if (p_section == NULL)
1568            {
1569                    log_error("NULL pointer error\n");
1570                    return -1;
1571            }
1572    
1573            if (section_list_rd_lock(p_section) < 0)
1574            {
1575                    log_error("section_list_rd_lock(sid=%d) error\n", p_section->sid);
1576                    return -2;
1577            }
1578    
1579            if (sname != NULL)
1580            {
1581                    memcpy(sname, p_section->sname, sizeof(p_section->sname));
1582            }
1583            if (stitle != NULL)
1584            {
1585                    memcpy(stitle, p_section->stitle, sizeof(p_section->stitle));
1586            }
1587            if (master_list != NULL)
1588            {
1589                    memcpy(master_list, p_section->master_list, sizeof(p_section->master_list));
1590            }
1591    
1592            // release lock of section
1593            if (section_list_rd_unlock(p_section) < 0)
1594            {
1595                    log_error("section_list_rd_unlock(sid=%d) error\n", p_section->sid);
1596                    return -2;
1597            }
1598    
1599            return 0;
1600    }
1601    
1602  int section_list_try_rd_lock(SECTION_LIST *p_section, int wait_sec)  int section_list_try_rd_lock(SECTION_LIST *p_section, int wait_sec)
1603  {  {
1604          int index;          int index;


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

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