[BACK]Return to buffer.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/Attic/buffer.c between version 1.8.2.6 and 1.9

version 1.8.2.6, 2002/03/08 17:04:42 version 1.9, 2000/12/19 23:17:55
Line 16 
Line 16 
   
 #include "xmalloc.h"  #include "xmalloc.h"
 #include "buffer.h"  #include "buffer.h"
 #include "log.h"  #include "ssh.h"
   
 /* Initializes the buffer structure. */  /* Initializes the buffer structure. */
   
Line 53 
Line 53 
 /* Appends data to the buffer, expanding it if necessary. */  /* Appends data to the buffer, expanding it if necessary. */
   
 void  void
 buffer_append(Buffer *buffer, const void *data, u_int len)  buffer_append(Buffer *buffer, const char *data, u_int len)
 {  {
         void *p;          char *cp;
         p = buffer_append_space(buffer, len);          buffer_append_space(buffer, &cp, len);
         memcpy(p, data, len);          memcpy(cp, data, len);
 }  }
   
 /*  /*
Line 66 
Line 66 
  * to the allocated region.   * to the allocated region.
  */   */
   
 void *  void
 buffer_append_space(Buffer *buffer, u_int len)  buffer_append_space(Buffer *buffer, char **datap, u_int len)
 {  {
         void *p;  
   
         /* If the buffer is empty, start using it from the beginning. */          /* If the buffer is empty, start using it from the beginning. */
         if (buffer->offset == buffer->end) {          if (buffer->offset == buffer->end) {
                 buffer->offset = 0;                  buffer->offset = 0;
Line 79 
Line 77 
 restart:  restart:
         /* If there is enough space to store all data, store it now. */          /* If there is enough space to store all data, store it now. */
         if (buffer->end + len < buffer->alloc) {          if (buffer->end + len < buffer->alloc) {
                 p = buffer->buf + buffer->end;                  *datap = buffer->buf + buffer->end;
                 buffer->end += len;                  buffer->end += len;
                 return p;                  return;
         }          }
         /*          /*
          * If the buffer is quite empty, but all data is at the end, move the           * If the buffer is quite empty, but all data is at the end, move the
Line 98 
Line 96 
         buffer->alloc += len + 32768;          buffer->alloc += len + 32768;
         buffer->buf = xrealloc(buffer->buf, buffer->alloc);          buffer->buf = xrealloc(buffer->buf, buffer->alloc);
         goto restart;          goto restart;
         /* NOTREACHED */  
 }  }
   
 /* Returns the number of bytes of data in the buffer. */  /* Returns the number of bytes of data in the buffer. */
Line 112 
Line 109 
 /* Gets data from the beginning of the buffer. */  /* Gets data from the beginning of the buffer. */
   
 void  void
 buffer_get(Buffer *buffer, void *buf, u_int len)  buffer_get(Buffer *buffer, char *buf, u_int len)
 {  {
         if (len > buffer->end - buffer->offset)          if (len > buffer->end - buffer->offset)
                 fatal("buffer_get: trying to get more bytes %d than in buffer %d",                  fatal("buffer_get: trying to get more bytes than in buffer");
                     len, buffer->end - buffer->offset);  
         memcpy(buf, buffer->buf + buffer->offset, len);          memcpy(buf, buffer->buf + buffer->offset, len);
         buffer->offset += len;          buffer->offset += len;
 }  }
Line 143 
Line 139 
   
 /* Returns a pointer to the first used byte in the buffer. */  /* Returns a pointer to the first used byte in the buffer. */
   
 void *  char *
 buffer_ptr(Buffer *buffer)  buffer_ptr(Buffer *buffer)
 {  {
         return buffer->buf + buffer->offset;          return buffer->buf + buffer->offset;
Line 155 
Line 151 
 buffer_dump(Buffer *buffer)  buffer_dump(Buffer *buffer)
 {  {
         int i;          int i;
         u_char *ucp = buffer->buf;          u_char *ucp = (u_char *) buffer->buf;
   
         for (i = buffer->offset; i < buffer->end; i++) {          for (i = buffer->offset; i < buffer->end; i++)
                 fprintf(stderr, "%02x", ucp[i]);                  fprintf(stderr, " %02x", ucp[i]);
                 if ((i-buffer->offset)%16==15)          fprintf(stderr, "\n");
                         fprintf(stderr, "\r\n");  
                 else if ((i-buffer->offset)%2==1)  
                         fprintf(stderr, " ");  
         }  
         fprintf(stderr, "\r\n");  
 }  }

Legend:
Removed from v.1.8.2.6  
changed lines
  Added in v.1.9