void ls_to_buf(char *lsbuf, struct sbuf *sb) { int n; char *p; time_t time; const char *f; struct stat *statp=&sb->statp; *lsbuf='\0'; p=encode_mode(statp->st_mode, lsbuf); n=sprintf(p, " %2d ", (uint32_t)statp->st_nlink); p+=n; n=sprintf(p, "%5d %5d", (uint32_t)statp->st_uid, (uint32_t)statp->st_gid); p+=n; n=sprintf(p, " %7lu ", (unsigned long)statp->st_size); p+=n; if(statp->st_ctime>statp->st_mtime) time=statp->st_ctime; else time=statp->st_mtime; // Display most recent time. p=encode_time(time, p); *p++=' '; for(f=sb->path.buf; *f; ) *p++=*f++; *p=0; }
void ls_output(char *buf, const char *fname, struct stat *statp) { char *p; const char *f; int n; time_t time; p = encode_mode(statp->st_mode, buf); n = sprintf(p, " %2d ", (uint32_t)statp->st_nlink); p += n; n = sprintf(p, "%5d %5d", (uint32_t)statp->st_uid, (uint32_t)statp->st_gid); p += n; n = sprintf(p, " %7lu ", (unsigned long) statp->st_size); p += n; if (statp->st_ctime > statp->st_mtime) time = statp->st_ctime; else time = statp->st_mtime; /* Display most recent time */ p = encode_time(time, p); *p++ = ' '; for (f=fname; *f; ) *p++ = *f++; *p = 0; }
/* * Print an ls style message, also send M_RESTORED */ void print_ls_output(JCR *jcr, ATTR *attr) { char buf[5000]; char ec1[30]; char en1[30], en2[30]; char *p, *f; guid_list *guid; if (attr->type == FT_DELETED) { /* TODO: change this to get last seen values */ bsnprintf(buf, sizeof(buf), "---------- - - - - ---------- -------- %s\n", attr->ofname); Dmsg1(20, "%s", buf); Jmsg(jcr, M_RESTORED, 1, "%s", buf); return; } if (!jcr->id_list) { jcr->id_list = new_guid_list(); } guid = jcr->id_list; p = encode_mode(attr->statp.st_mode, buf); p += sprintf(p, " %2d ", (uint32_t)attr->statp.st_nlink); p += sprintf(p, "%-8.8s %-8.8s", guid->uid_to_name(attr->statp.st_uid, en1, sizeof(en1)), guid->gid_to_name(attr->statp.st_gid, en2, sizeof(en2))); p += sprintf(p, "%10.10s ", edit_int64(attr->statp.st_size, ec1)); p = encode_time(attr->statp.st_ctime, p); *p++ = ' '; *p++ = ' '; for (f=attr->ofname; *f && (p-buf) < (int)sizeof(buf)-10; ) { *p++ = *f++; } if (attr->type == FT_LNK) { *p++ = ' '; *p++ = '-'; *p++ = '>'; *p++ = ' '; /* Copy link name */ for (f=attr->olname; *f && (p-buf) < (int)sizeof(buf)-10; ) { *p++ = *f++; } } *p++ = '\n'; *p = 0; Dmsg1(20, "%s", buf); Jmsg(jcr, M_RESTORED, 1, "%s", buf); }
static void print_ls_output(char *fname, char *link, int type, struct stat *statp) { char buf[2000]; char ec1[30]; char *p, *f; int n; if (type == FT_LNK) { statp->st_mtime = 0; statp->st_mode |= 0777; } p = encode_mode(statp->st_mode, buf); n = sprintf(p, " %2d ", (uint32_t)statp->st_nlink); p += n; n = sprintf(p, "%-4d %-4d", (int)statp->st_uid, (int)statp->st_gid); p += n; n = sprintf(p, "%10.10s ", edit_uint64(statp->st_size, ec1)); p += n; if (S_ISCHR(statp->st_mode) || S_ISBLK(statp->st_mode)) { n = sprintf(p, "%4x ", (int)statp->st_rdev); } else { n = sprintf(p, " "); } p += n; p = encode_time(statp->st_mtime, p); *p++ = ' '; /* Copy file name */ for (f=fname; *f && (p-buf) < (int)sizeof(buf); ) *p++ = *f++; if (type == FT_LNK) { *p++ = '-'; *p++ = '>'; *p++ = ' '; /* Copy link name */ for (f=link; *f && (p-buf) < (int)sizeof(buf); ) *p++ = *f++; } *p++ = '\n'; *p = 0; fputs(buf, stdout); }