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

Diff of /lbbs/src/section_list_loader.c

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

Revision 1.41 by sysadm, Tue Sep 30 13:27:28 2025 UTC Revision 1.43 by sysadm, Wed Oct 1 07:23:29 2025 UTC
# Line 206  int append_articles_from_db(int32_t star Line 206  int append_articles_from_db(int32_t star
206          int article_count = 0;          int article_count = 0;
207          int ret = 0;          int ret = 0;
208          int i;          int i;
         size_t j;  
209    
210          db = db_open();          db = db_open();
211          if (db == NULL)          if (db == NULL)
# Line 269  int append_articles_from_db(int32_t star Line 268  int append_articles_from_db(int32_t star
268                  strncpy(article.title, row[i++], sizeof(article.title) - 1);                  strncpy(article.title, row[i++], sizeof(article.title) - 1);
269                  article.title[sizeof(article.title) - 1] = '\0';                  article.title[sizeof(article.title) - 1] = '\0';
270    
                 // Rewrite title with "Re: Re: " prefix into "Re: ... "  
                 if (article.tid != 0)  
                 {  
                         for (j = 0; strncmp(article.title + j, "Re: ", strlen("Re: ")) == 0; j += strlen("Re: "))  
                                 ;  
                         if (j >= strlen("Re: Re: "))  
                         {  
                                 memcpy(article.title, "Re: ... ", strlen("Re: ... "));  
                                 memmove(article.title + strlen("Re: ... "), article.title + j, sizeof(article.title) - 1 - j);  
                                 article.title[sizeof(article.title) - 1 - j] = '\0';  
                         }  
                 }  
   
271                  article.sub_dt = atol(row[i++]);                  article.sub_dt = atol(row[i++]);
272    
273                  strncpy(sub_ip, row[i++], sizeof(sub_ip) - 1);                  strncpy(sub_ip, row[i++], sizeof(sub_ip) - 1);
# Line 959  int locate_article_in_section(SECTION_LI Line 945  int locate_article_in_section(SECTION_LI
945          }          }
946          else if (direction == 1)          else if (direction == 1)
947          {          {
948                  for (p_article = p_article_cur, p_article_last = p_article_cur;                  for (p_article_last = p_article_cur, p_article = p_article_cur->p_topic_next;
949                           step > 0 && p_article->p_topic_next->aid > p_article_cur->aid;                           step > 0 && p_article->aid > p_article_cur->aid;
950                           p_article = p_article->p_topic_next)                           p_article = p_article->p_topic_next)
951                  {                  {
952                          if (p_article->visible)                          if (p_article->visible)
# Line 969  int locate_article_in_section(SECTION_LI Line 955  int locate_article_in_section(SECTION_LI
955                                  p_article_last = p_article;                                  p_article_last = p_article;
956                          }                          }
957                  }                  }
958                  if (!p_article->visible)                  p_article = p_article_last;
                 {  
                         p_article = p_article_last;  
                 }  
959    
960                  aid = (p_article->aid > p_article_cur->aid && p_article->visible ? p_article->aid : 0);                  aid = (p_article->aid > p_article_cur->aid && p_article->visible ? p_article->aid : 0);
961          }          }
962          else if (direction == -1)          else if (direction == -1)
963          {          {
964                  for (p_article = p_article_cur, p_article_last = p_article_cur;                  for (p_article_last = p_article_cur, p_article = p_article_cur->p_topic_prior;
965                           step > 0 && p_article->p_topic_prior->aid < p_article_cur->aid;                           step > 0 && p_article->aid < p_article_cur->aid;
966                           p_article = p_article->p_topic_prior)                           p_article = p_article->p_topic_prior)
967                  {                  {
968                          if (p_article->visible)                          if (p_article->visible)
# Line 988  int locate_article_in_section(SECTION_LI Line 971  int locate_article_in_section(SECTION_LI
971                                  p_article_last = p_article;                                  p_article_last = p_article;
972                          }                          }
973                  }                  }
974                  if (!p_article->visible)                  p_article = p_article_last;
                 {  
                         p_article = p_article_last;  
                 }  
975    
976                  aid = (p_article->aid < p_article_cur->aid && p_article->visible ? p_article->aid : 0);                  aid = (p_article->aid < p_article_cur->aid && p_article->visible ? p_article->aid : 0);
977          }          }


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

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