mhonarc-users

bugfix for: Indexing only last 100 messages

1996-03-19 12:11:49
Mitch Walker said:
With 1.1 mhonarc this was easy, but with 1.2, I'm having 
troubles.  I have 4000 messages in my archive.  I want only the 
last 100 messages indexed in reverse chronological order, 
newest first.  Here's the command line that worked with 1.1:

mhonarc -idxsize 100 -reverse -treverse -title "Last 100 
messages for myfolder" -idxfname last100.htm -tidxfname 
last100t.htm -ttitle "Last 100 messages for myfolder" -outdir 
$archdir\myfolder myarchive


If I use the same command line with 1.2, I'll get 100 messages 
indexed, but they're not the newest 100.  It looks like they're 
the oldest 100 messages.  If the index is limited to 100 
messages does it automatically take the newest 100?

The appended patch makes it working again. 

Hope this helps,
Achim

-- 
Mitch Walker
rmwalker(_at_)ingr(_dot_)com
70117(_dot_)160(_at_)compuserve(_dot_)com
205-730-2028 (office);  205-730-2720 (fax)


*** 1.2 1996/03/19 17:29:56
--- mhonarc     1996/03/19 17:45:56
***************
*** 1099,1105 ****
  
      ## Set messages that are shown in index
      if ($IDXSIZE && (($i = ($#array+1) - $IDXSIZE) > 0)) {
!       splice(@array, 0, $i);
      }
  
      ## Open/create index file
--- 1099,1109 ----
  
      ## Set messages that are shown in index
      if ($IDXSIZE && (($i = ($#array+1) - $IDXSIZE) > 0)) {
!       if ($REVSORT) {
!               splice(@array, $IDXSIZE);
!       } else {
!               splice(@array, 0, $i);
!       }
      }
  
      ## Open/create index file
***************
*** 2140,2146 ****
      }
      # Set messages that are shown in index
      if ($IDXSIZE && (($i = ($#array+1) - $IDXSIZE) > 0)) {
!       splice(@array, 0, $i);
      }
      if ($TSUBSORT) {
        @array = sort increase_subject @array;
--- 2144,2154 ----
      }
      # Set messages that are shown in index
      if ($IDXSIZE && (($i = ($#array+1) - $IDXSIZE) > 0)) {
!       if ($TREVERSE) {
!               splice(@array, $IDXSIZE);
!       } else {
!               splice(@array, 0, $i);
!       }
      }
      if ($TSUBSORT) {
        @array = sort increase_subject @array;
<Prev in Thread] Current Thread [Next in Thread>