patch 8.1.0138: negative value of 'softtabstop' not used correctly

Problem:    Negative value of 'softtabstop' not used correctly.
Solution:   Use get_sts_value(). (Tom Ryder)
diff --git a/src/edit.c b/src/edit.c
index d4de825..0519a01 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -9373,7 +9373,7 @@
 	    if (p_sta && in_indent)
 		want_vcol = (want_vcol / curbuf->b_p_sw) * curbuf->b_p_sw;
 	    else
-		want_vcol = tabstop_start(want_vcol, curbuf->b_p_sts,
+		want_vcol = tabstop_start(want_vcol, get_sts_value(),
 						     curbuf->b_p_vsts_array);
 #else
 	    want_vcol = (want_vcol / ts) * ts;
@@ -10203,9 +10203,9 @@
 	temp = (int)curbuf->b_p_sw;
 	temp -= get_nolist_virtcol() % temp;
     }
-    else if (tabstop_count(curbuf->b_p_vsts_array) > 0 || curbuf->b_p_sts > 0)
+    else if (tabstop_count(curbuf->b_p_vsts_array) > 0 || curbuf->b_p_sts != 0)
 	                        /* use 'softtabstop' when set */
-	temp = tabstop_padding(get_nolist_virtcol(), curbuf->b_p_sts,
+	temp = tabstop_padding(get_nolist_virtcol(), get_sts_value(),
 						     curbuf->b_p_vsts_array);
     else			/* otherwise use 'tabstop' */
 	temp = tabstop_padding(get_nolist_virtcol(), curbuf->b_p_ts,