summaryrefslogtreecommitdiff
path: root/linkers/rld.h
diff options
context:
space:
mode:
Diffstat (limited to 'linkers/rld.h')
-rw-r--r--linkers/rld.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/linkers/rld.h b/linkers/rld.h
index 36ab013..1f5e60b 100644
--- a/linkers/rld.h
+++ b/linkers/rld.h
@@ -156,11 +156,16 @@ namespace rld
*/
inline std::string dequote (const std::string& s)
{
- if ((s.front () == '"') || (s.front () == '\''))
+ if (!s.empty ())
{
- if (s.front () != s.back ())
- throw rld::error ("invalid quoting", "string: " + s);
- return s.substr (1, s.length () - (1 + 1));
+ char front = s[0];
+ char back = s[s.length () - 1];
+ if ((front == '"') || (front == '\''))
+ {
+ if (front != back)
+ throw rld::error ("invalid quoting", "string: " + s);
+ return s.substr (1, s.length () - (1 + 1));
+ }
}
return s;
}