paths with spaces? wow!!
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
|
||||
#include "audio_events.hpp"
|
||||
@@ -27,12 +28,6 @@ namespace console {
|
||||
std::weak_ptr<database::Database> AppConsole::sDatabase;
|
||||
|
||||
int CmdListDir(int argc, char** argv) {
|
||||
static const std::string usage = "usage: ls [directory]";
|
||||
if (argc > 2) {
|
||||
std::cout << usage << std::endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
auto lock = AppConsole::sDatabase.lock();
|
||||
if (lock == nullptr) {
|
||||
std::cout << "storage is not available" << std::endl;
|
||||
@@ -40,8 +35,13 @@ int CmdListDir(int argc, char** argv) {
|
||||
}
|
||||
|
||||
std::string path;
|
||||
if (argc == 2) {
|
||||
path = argv[1];
|
||||
if (argc > 1) {
|
||||
std::ostringstream builder;
|
||||
builder << argv[1];
|
||||
for (int i = 2; i < argc; i++) {
|
||||
builder << ' ' << argv[i];
|
||||
}
|
||||
path = builder.str();
|
||||
} else {
|
||||
path = "";
|
||||
}
|
||||
@@ -89,15 +89,19 @@ void RegisterListDir() {
|
||||
// sInstance->playback_->Play(path + argv[1]);
|
||||
int CmdPlayFile(int argc, char** argv) {
|
||||
static const std::string usage = "usage: play [file]";
|
||||
if (argc != 2) {
|
||||
if (argc < 2) {
|
||||
std::cout << usage << std::endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
std::string path = "/";
|
||||
std::ostringstream path;
|
||||
path << '/' << argv[1];
|
||||
for (int i = 2; i < argc; i++) {
|
||||
path << ' ' << argv[i];
|
||||
}
|
||||
|
||||
events::Dispatch<audio::PlayFile, audio::AudioState>(
|
||||
audio::PlayFile{.filename = path + argv[1]});
|
||||
audio::PlayFile{.filename = path.str()});
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -38,6 +38,7 @@ void Running::entry() {
|
||||
vTaskDelay(pdMS_TO_TICKS(250));
|
||||
|
||||
ESP_LOGI(kTag, "opening database");
|
||||
database::Database::Destroy();
|
||||
auto database_res = database::Database::Open();
|
||||
if (database_res.has_error()) {
|
||||
ESP_LOGW(kTag, "failed to open!");
|
||||
|
||||
Reference in New Issue
Block a user