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

Diff of /lbbs/src/article_favor.c

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

Revision 1.4 by sysadm, Wed Oct 15 12:02:38 2025 UTC Revision 1.7 by sysadm, Tue Nov 4 13:49:50 2025 UTC
# Line 1  Line 1 
1  /***************************************************************************  /* SPDX-License-Identifier: GPL-3.0-or-later */
2                                           article_favor.c  -  description  /*
3                                                           -------------------   * article_favor
4          Copyright            : (C) 2004-2025 by Leaflet   *   - data model and basic operations of user favorite articles
5          Email                : leaflet@leafok.com   *
6   ***************************************************************************/   * Copyright (C) 2004-2025 by Leaflet <leaflet@leafok.com>
7     */
 /***************************************************************************  
  *                                                                         *  
  *   This program is free software; you can redistribute it and/or modify  *  
  *   it under the terms of the GNU General Public License as published by  *  
  *   the Free Software Foundation; either version 3 of the License, or     *  
  *   (at your option) any later version.                                   *  
  *                                                                         *  
  ***************************************************************************/  
8    
9  #include "article_favor.h"  #include "article_favor.h"
10  #include "common.h"  #include "common.h"
# Line 321  int article_favor_check(int32_t aid, con Line 313  int article_favor_check(int32_t aid, con
313                          mid = (left + right) / 2;                          mid = (left + right) / 2;
314                          if (aid < (i == 0 ? p_favor->aid_base[mid] : p_favor->aid_inc[mid]))                          if (aid < (i == 0 ? p_favor->aid_base[mid] : p_favor->aid_inc[mid]))
315                          {                          {
316                                  right = mid;                                  right = mid - 1;
317                          }                          }
318                          else if (aid > (i == 0 ? p_favor->aid_base[mid] : p_favor->aid_inc[mid]))                          else if (aid > (i == 0 ? p_favor->aid_base[mid] : p_favor->aid_inc[mid]))
319                          {                          {
# Line 372  int article_favor_set(int32_t aid, ARTIC Line 364  int article_favor_set(int32_t aid, ARTIC
364                          mid = (left + right) / 2;                          mid = (left + right) / 2;
365                          if (aid < (i == 0 ? p_favor->aid_base[mid] : p_favor->aid_inc[mid]))                          if (aid < (i == 0 ? p_favor->aid_base[mid] : p_favor->aid_inc[mid]))
366                          {                          {
367                                  right = mid;                                  right = mid - 1;
368                          }                          }
369                          else if (aid > (i == 0 ? p_favor->aid_base[mid] : p_favor->aid_inc[mid]))                          else if (aid > (i == 0 ? p_favor->aid_base[mid] : p_favor->aid_inc[mid]))
370                          {                          {
# Line 508  int query_favor_articles(ARTICLE_FAVOR * Line 500  int query_favor_articles(ARTICLE_FAVOR *
500                          return -3;                          return -3;
501                  }                  }
502    
503                  // acquire lock of section                  if (get_section_info(p_section, p_snames[i], NULL, NULL) < 0)
                 if (section_list_rd_lock(p_section) < 0)  
504                  {                  {
505                          log_error("section_list_rd_lock(sid = %d) error\n", p_section->sid);                          log_error("get_section_info(sid=%d) error\n", p_section->sid);
                         return -4;  
                 }  
   
                 memcpy(p_snames[i], p_section->sname, sizeof(p_snames[i]));  
   
                 // release lock of section  
                 if (section_list_rd_unlock(p_section) < 0)  
                 {  
                         log_error("section_list_rd_unlock(sid = %d) error\n", p_section->sid);  
506                          return -4;                          return -4;
507                  }                  }
508          }          }


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

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