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

Diff for /src/usr.bin/ssh/sftp.c between version 1.177 and 1.178

version 1.177, 2016/10/18 12:41:22 version 1.178, 2017/02/15 01:46:47
Line 947 
Line 947 
 do_df(struct sftp_conn *conn, const char *path, int hflag, int iflag)  do_df(struct sftp_conn *conn, const char *path, int hflag, int iflag)
 {  {
         struct sftp_statvfs st;          struct sftp_statvfs st;
         char s_used[FMT_SCALED_STRSIZE];          char s_used[FMT_SCALED_STRSIZE], s_avail[FMT_SCALED_STRSIZE];
         char s_avail[FMT_SCALED_STRSIZE];          char s_root[FMT_SCALED_STRSIZE], s_total[FMT_SCALED_STRSIZE];
         char s_root[FMT_SCALED_STRSIZE];          char s_icapacity[16], s_dcapacity[16];
         char s_total[FMT_SCALED_STRSIZE];  
         unsigned long long ffree;  
   
         if (do_statvfs(conn, path, &st, 1) == -1)          if (do_statvfs(conn, path, &st, 1) == -1)
                 return -1;                  return -1;
           if (st.f_files == 0)
                   strlcpy(s_icapacity, "ERR", sizeof(s_icapacity));
           else {
                   snprintf(s_icapacity, sizeof(s_icapacity), "%3llu%%",
                       (unsigned long long)(100 * (st.f_files - st.f_ffree) /
                       st.f_files));
           }
           if (st.f_blocks == 0)
                   strlcpy(s_dcapacity, "ERR", sizeof(s_dcapacity));
           else {
                   snprintf(s_dcapacity, sizeof(s_dcapacity), "%3llu%%",
                       (unsigned long long)(100 * (st.f_blocks - st.f_bfree) /
                       st.f_blocks));
           }
         if (iflag) {          if (iflag) {
                 ffree = st.f_files ? (100 * (st.f_files - st.f_ffree) / st.f_files) : 0;  
                 printf("     Inodes        Used       Avail      "                  printf("     Inodes        Used       Avail      "
                     "(root)    %%Capacity\n");                      "(root)    %%Capacity\n");
                 printf("%11llu %11llu %11llu %11llu         %3llu%%\n",                  printf("%11llu %11llu %11llu %11llu         %s\n",
                     (unsigned long long)st.f_files,                      (unsigned long long)st.f_files,
                     (unsigned long long)(st.f_files - st.f_ffree),                      (unsigned long long)(st.f_files - st.f_ffree),
                     (unsigned long long)st.f_favail,                      (unsigned long long)st.f_favail,
                     (unsigned long long)st.f_ffree, ffree);                      (unsigned long long)st.f_ffree, s_icapacity);
         } else if (hflag) {          } else if (hflag) {
                 strlcpy(s_used, "error", sizeof(s_used));                  strlcpy(s_used, "error", sizeof(s_used));
                 strlcpy(s_avail, "error", sizeof(s_avail));                  strlcpy(s_avail, "error", sizeof(s_avail));
Line 974 
Line 985 
                 fmt_scaled(st.f_bfree * st.f_frsize, s_root);                  fmt_scaled(st.f_bfree * st.f_frsize, s_root);
                 fmt_scaled(st.f_blocks * st.f_frsize, s_total);                  fmt_scaled(st.f_blocks * st.f_frsize, s_total);
                 printf("    Size     Used    Avail   (root)    %%Capacity\n");                  printf("    Size     Used    Avail   (root)    %%Capacity\n");
                 printf("%7sB %7sB %7sB %7sB         %3llu%%\n",                  printf("%7sB %7sB %7sB %7sB         %s\n",
                     s_total, s_used, s_avail, s_root,                      s_total, s_used, s_avail, s_root, s_dcapacity);
                     (unsigned long long)(100 * (st.f_blocks - st.f_bfree) /  
                     st.f_blocks));  
         } else {          } else {
                 printf("        Size         Used        Avail       "                  printf("        Size         Used        Avail       "
                     "(root)    %%Capacity\n");                      "(root)    %%Capacity\n");
                 printf("%12llu %12llu %12llu %12llu         %3llu%%\n",                  printf("%12llu %12llu %12llu %12llu         %s\n",
                     (unsigned long long)(st.f_frsize * st.f_blocks / 1024),                      (unsigned long long)(st.f_frsize * st.f_blocks / 1024),
                     (unsigned long long)(st.f_frsize *                      (unsigned long long)(st.f_frsize *
                     (st.f_blocks - st.f_bfree) / 1024),                      (st.f_blocks - st.f_bfree) / 1024),
                     (unsigned long long)(st.f_frsize * st.f_bavail / 1024),                      (unsigned long long)(st.f_frsize * st.f_bavail / 1024),
                     (unsigned long long)(st.f_frsize * st.f_bfree / 1024),                      (unsigned long long)(st.f_frsize * st.f_bfree / 1024),
                     (unsigned long long)(100 * (st.f_blocks - st.f_bfree) /                      s_dcapacity);
                     st.f_blocks));  
         }          }
         return 0;          return 0;
 }  }

Legend:
Removed from v.1.177  
changed lines
  Added in v.1.178