Merge tag 'v0.21.18'

release v0.21.18
This commit is contained in:
Max Kellermann
2019-12-24 16:17:10 +01:00
20 changed files with 375 additions and 77 deletions

View File

@@ -90,6 +90,29 @@ Ls(Storage &storage, const char *path)
return EXIT_SUCCESS;
}
static int
Stat(Storage &storage, const char *path)
{
const auto info = storage.GetInfo(path, false);
switch (info.type) {
case StorageFileInfo::Type::OTHER:
printf("other\n");
break;
case StorageFileInfo::Type::REGULAR:
printf("regular\n");
break;
case StorageFileInfo::Type::DIRECTORY:
printf("directory\n");
break;
}
printf("size: %llu\n", (unsigned long long)info.size);
return EXIT_SUCCESS;
}
int
main(int argc, char **argv)
try {
@@ -117,6 +140,18 @@ try {
storage_uri);
return Ls(*storage, path);
} else if (strcmp(command, "stat") == 0) {
if (argc != 4) {
fprintf(stderr, "Usage: run_storage stat URI PATH\n");
return EXIT_FAILURE;
}
const char *const path = argv[3];
auto storage = MakeStorage(io_thread.GetEventLoop(),
storage_uri);
return Stat(*storage, path);
} else {
fprintf(stderr, "Unknown command\n");
return EXIT_FAILURE;