@@ -67,14 +67,22 @@ class HxOverrides {
}
static function substr( s : String, pos : Int, ?len : Int ) : String {
- if( pos != null && pos != 0 && len != null && len < 0 ) return "";
- if( len == null ) len = s.length;
- if( pos < 0 ){
+ if (len == null) {
+ len = s.length;
+ } else if (len < 0) {
+ if (pos == 0)
+ len = s.length + len;
+ else
+ return "";
+ }
+
+ #if !js_es5
+ if (pos < 0) {
pos = s.length + pos;
- if( pos < 0 ) pos = 0;
- }else if( len < 0 ){
- len = s.length + len - pos;
+ if (pos < 0)
+ pos = 0;
+ #end
return (untyped s).substr(pos, len);