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

Diff for /src/usr.bin/kdump/kdump.c between version 1.36 and 1.37

version 1.36, 2006/05/11 12:26:42 version 1.37, 2006/05/17 02:12:17
Line 153 
Line 153 
         "PT_KILL",      "PT_ATTACH",    "PT_DETACH",    "PT_IO",          "PT_KILL",      "PT_ATTACH",    "PT_DETACH",    "PT_IO",
 };  };
   
 static int fread_tail(void *, int, int);  static int fread_tail(void *, size_t, size_t);
 static void dumpheader(struct ktr_header *);  static void dumpheader(struct ktr_header *);
 static void ktrcsw(struct ktr_csw *);  static void ktrcsw(struct ktr_csw *);
 static void ktremul(char *, int);  static void ktremul(char *, size_t);
 static void ktrgenio(struct ktr_genio *, int);  static void ktrgenio(struct ktr_genio *, size_t);
 static void ktrnamei(const char *, int);  static void ktrnamei(const char *, size_t);
 static void ktrpsig(struct ktr_psig *);  static void ktrpsig(struct ktr_psig *);
 static void ktrsyscall(struct ktr_syscall *);  static void ktrsyscall(struct ktr_syscall *);
 static void ktrsysret(struct ktr_sysret *);  static void ktrsysret(struct ktr_sysret *);
Line 168 
Line 168 
 int  int
 main(int argc, char *argv[])  main(int argc, char *argv[])
 {  {
         int ch, ktrlen, size, silent;          int ch, silent;
           size_t ktrlen, size;
         int trpoints = ALL_POINTS;          int trpoints = ALL_POINTS;
         void *m;          void *m;
   
Line 220 
Line 221 
         if (argc > optind)          if (argc > optind)
                 usage();                  usage();
   
         m = (void *)malloc(size = 1025);          m = malloc(size = 1025);
         if (m == NULL)          if (m == NULL)
                 errx(1, "%s", strerror(ENOMEM));                  err(1, NULL);
         if (!freopen(tracefile, "r", stdin))          if (!freopen(tracefile, "r", stdin))
                 err(1, "%s", tracefile);                  err(1, "%s", tracefile);
         while (fread_tail(&ktr_header, sizeof(struct ktr_header), 1)) {          while (fread_tail(&ktr_header, sizeof(struct ktr_header), 1)) {
Line 231 
Line 232 
                         silent = 1;                          silent = 1;
                 if (silent == 0 && trpoints & (1<<ktr_header.ktr_type))                  if (silent == 0 && trpoints & (1<<ktr_header.ktr_type))
                         dumpheader(&ktr_header);                          dumpheader(&ktr_header);
                 if ((ktrlen = ktr_header.ktr_len) < 0)                  ktrlen = ktr_header.ktr_len;
                         errx(1, "bogus length 0x%x", ktrlen);  
                 if (ktrlen > size) {                  if (ktrlen > size) {
                         void *newm;                          void *newm;
   
                         newm = realloc(m, ktrlen+1);                          newm = realloc(m, ktrlen+1);
                         if (newm == NULL)                          if (newm == NULL)
                                 errx(1, "%s", strerror(ENOMEM));                                  err(1, NULL);
                         m = newm;                          m = newm;
                         size = ktrlen;                          size = ktrlen;
                 }                  }
Line 278 
Line 278 
 }  }
   
 static int  static int
 fread_tail(void *buf, int size, int num)  fread_tail(void *buf, size_t size, size_t num)
 {  {
         int i;          int i;
   
Line 495 
Line 495 
 }  }
   
 static void  static void
 ktrnamei(const char *cp, int len)  ktrnamei(const char *cp, size_t len)
 {  {
         (void)printf("\"%.*s\"\n", len, cp);          (void)printf("\"%.*s\"\n", (int)len, cp);
 }  }
   
 static void  static void
 ktremul(char *cp, int len)  ktremul(char *cp, size_t len)
 {  {
         char name[1024];          char name[1024];
   
Line 516 
Line 516 
 }  }
   
 static void  static void
 ktrgenio(struct ktr_genio *ktr, int len)  ktrgenio(struct ktr_genio *ktr, size_t len)
 {  {
         unsigned char *dp = (unsigned char *)ktr + sizeof (struct ktr_genio);          unsigned char *dp = (unsigned char *)ktr + sizeof(struct ktr_genio);
         int i, j, datalen = len - sizeof (struct ktr_genio);          int i, j;
           size_t datalen = len - sizeof(struct ktr_genio);
         static int screenwidth = 0;          static int screenwidth = 0;
         int col = 0, width, bpl;          int col = 0, width, bpl;
         unsigned char visbuf[5], *cp, c;          unsigned char visbuf[5], *cp, c;
Line 533 
Line 534 
                 else                  else
                         screenwidth = 80;                          screenwidth = 80;
         }          }
         printf("fd %d %s %d bytes\n", ktr->ktr_fd,          printf("fd %d %s %zu bytes\n", ktr->ktr_fd,
                 ktr->ktr_rw == UIO_READ ? "read" : "wrote", datalen);                  ktr->ktr_rw == UIO_READ ? "read" : "wrote", datalen);
         if (maxdata && datalen > maxdata)          if (maxdata && datalen > maxdata)
                 datalen = maxdata;                  datalen = maxdata;

Legend:
Removed from v.1.36  
changed lines
  Added in v.1.37