PennMUSH Community

Changeset 1230 for 1.8.3/trunk

Show
Ignore:
Timestamp:
04/03/08 20:32:36 (3 months ago)
Author:
shawnw
Message:

Fix @chan/what to show actual line count

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • 1.8.3/trunk/CHANGES.183

    r1214 r1230  
    1919Fixes: 
    2020 * Compilation fixes on various platforms. [SW] 
     21 * @chan/what reports the number of actual lines stored in  
     22   recall buffers, not the number of blocks. Reported by 
     23   qa'toq [SW] 
    2124 
    2225Version 1.8.3 patchlevel 6                      Jan 01, 2008 
  • 1.8.3/trunk/hdrs/bufferq.h

    r919 r1230  
    2525#define BufferQLastType(b) ((b)->last_type) 
    2626 
    27 extern BUFFERQ *allocate_bufferq(int lines); 
    28 extern BUFFERQ *reallocate_bufferq(BUFFERQ *bq, int lines); 
    29 extern void free_bufferq(BUFFERQ *bq); 
    30 extern void add_to_bufferq(BUFFERQ *bq, int type, dbref player, 
    31                            const char *msg); 
    32 extern char *iter_bufferq(BUFFERQ *bq, char **p, dbref *player, int *type, 
    33                           time_t * timestamp); 
    34 extern int bufferq_lines(BUFFERQ *bq); 
    35 extern int isempty_bufferq(BUFFERQ *bq); 
     27BUFFERQ *allocate_bufferq(int lines); 
     28BUFFERQ *reallocate_bufferq(BUFFERQ *bq, int lines); 
     29void free_bufferq(BUFFERQ *bq); 
     30void add_to_bufferq(BUFFERQ *bq, int type, dbref player, 
     31                    const char *msg); 
     32char *iter_bufferq(BUFFERQ *bq, char **p, dbref *player, int *type, 
     33                   time_t * timestamp); 
     34int bufferq_lines(BUFFERQ *bq); 
     35int bufferq_blocks(BUFFERQ *bq); 
     36bool isempty_bufferq(BUFFERQ *bq); 
  • 1.8.3/trunk/src/bufferq.c

    r919 r1230  
    225225} 
    226226 
    227 /** Size of bufferq buffer in lines. 
    228  * \param bq pointer to buffer queue. 
    229  * \return size of buffer queue in line
     227/** Size of bufferq buffer in blocks. 
     228 * \param bq pointer to buffer queue. 
     229 * \return size of buffer queue in 8k block
    230230 */ 
    231231int 
    232 bufferq_lines(BUFFERQ *bq) 
     232bufferq_blocks(BUFFERQ *bq) 
    233233{ 
    234234  if (bq && bq->buffer) 
     
    238238} 
    239239 
     240/** Number of lines stored in queue. 
     241 * \param bq pointer to buffer queue. 
     242 * \return line count 
     243 */ 
     244int 
     245bufferq_lines(BUFFERQ *bp) 
     246{ 
     247  int lines = 0; 
     248  char *p = NULL; 
     249  dbref player; 
     250  int type; 
     251  time_t t; 
     252 
     253 
     254  if (isempty_bufferq(bp)) 
     255    return 0; 
     256 
     257  while (iter_bufferq(bp, &p, &player, &type, &t)) 
     258    lines++; 
     259 
     260  return lines; 
     261} 
     262 
    240263/** Is a buffer queue empty? 
    241264 * \param bq pointer to buffer queue. 
     
    243266 * \retval 0 the buffer queue is not empty (has messages). 
    244267 */ 
    245 int 
     268bool 
    246269isempty_bufferq(BUFFERQ *bq) 
    247270{ 
  • 1.8.3/trunk/src/extchat.c

    r1167 r1230  
    21312131                    (u && Chanuser_Quiet(u)) ? 'Q' : ' ', 
    21322132                    (u && Chanuser_Hide(u)) ? 'H' : ' ', 
    2133                     bufferq_lines(ChanBufferQ(c))); 
     2133                    bufferq_blocks(ChanBufferQ(c))); 
    21342134    } 
    21352135  } 
     
    26862686      if (ChanBufferQ(c)) 
    26872687        notify_format(player, "@channel/buffer %s = %d", ChanName(c), 
    2688                       bufferq_lines(ChanBufferQ(c))); 
     2688                      bufferq_blocks(ChanBufferQ(c))); 
    26892689      if (!brief) { 
    26902690        for (u = ChanUsers(c); u; u = u->next) {