From 674128b3f7e9f2bc9f1462d7313d32e259a3a9b7 Mon Sep 17 00:00:00 2001 From: snowleo Date: Wed, 6 Jul 2011 01:39:24 +0200 Subject: [PATCH] Prevent oversized lines on trade signs --- .../src/com/earth2me/essentials/signs/SignTrade.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Essentials/src/com/earth2me/essentials/signs/SignTrade.java b/Essentials/src/com/earth2me/essentials/signs/SignTrade.java index e63ff49b8..c7515a2fb 100644 --- a/Essentials/src/com/earth2me/essentials/signs/SignTrade.java +++ b/Essentials/src/com/earth2me/essentials/signs/SignTrade.java @@ -80,6 +80,10 @@ public class SignTrade extends EssentialsSign final Double money = getMoney(split[0]); if (money != null) { + if (Util.formatCurrency(money).length() * 2 > 15) + { + throw new SignException("Line can be too long!"); + } sign.setLine(index, Util.formatCurrency(money) + ":0"); return; } @@ -104,7 +108,12 @@ public class SignTrade extends EssentialsSign { throw new SignException(Util.i18n("moreThanZero")); } - sign.setLine(index, amount + " " + split[1] + ":0"); + String newline = amount + " " + split[1] + ":0"; + if ((newline + amount).length() > 16) + { + throw new SignException("Line can be too long!"); + } + sign.setLine(index, newline); return; }