diff options
Diffstat (limited to 'src/server/LV2Plugin.cpp')
-rw-r--r-- | src/server/LV2Plugin.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/server/LV2Plugin.cpp b/src/server/LV2Plugin.cpp index cd29c0b1..4a4fd674 100644 --- a/src/server/LV2Plugin.cpp +++ b/src/server/LV2Plugin.cpp @@ -69,17 +69,19 @@ const Raul::Symbol LV2Plugin::symbol() const { string working = uri(); - if (working.back() == '/') + if (working.back() == '/') { working = working.substr(0, working.length() - 1); + } while (working.length() > 0) { size_t last_slash = working.find_last_of("/"); const string symbol = working.substr(last_slash+1); if ( (symbol[0] >= 'a' && symbol[0] <= 'z') - || (symbol[0] >= 'A' && symbol[0] <= 'Z') ) + || (symbol[0] >= 'A' && symbol[0] <= 'Z') ) { return Raul::Symbol::symbolify(symbol); - else + } else { working = working.substr(0, last_slash); + } } return Raul::Symbol("lv2_symbol"); |