diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index b436d9f571..143b00e623 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -324,7 +324,17 @@ if(href_list["write"]) var/id = href_list["write"] //var/t = strip_html_simple(input(usr, "What text do you wish to add to " + (id=="end" ? "the end of the paper" : "field "+id) + "?", "[name]", null),8192) as message - var/t = sanitize(input("Enter what you want to write:", "Write", null, null) as message, MAX_PAPER_MESSAGE_LEN, extra = 0) + + var/textlimit = MAX_PAPER_MESSAGE_LEN - length(info) + if(textlimit <= 0) + usr << "There isn't enough space left on \the [src] to write anything." + return + + var/t = sanitize(input("Enter what you want to write:", "Write", null, null) as message, textlimit, extra = 0) + + if(!t) + return + var/obj/item/i = usr.get_active_hand() // Check to see if he still got that darn pen, also check if he's using a crayon or pen. var/iscrayon = 0 if(!istype(i, /obj/item/weapon/pen)) @@ -347,6 +357,9 @@ message_admins("PAPER: [usr] ([usr.ckey]) tried to use forbidden word in [src]: [bad].") return */ + + var last_fields_value = fields + //t = html_encode(t) t = replacetext(t, "\n", "
") t = parsepencode(t, i, usr, iscrayon) // Encode everything from pencode to html @@ -354,6 +367,7 @@ if(fields > 50)//large amount of fields creates a heavy load on the server, see updateinfolinks() and addtofield() usr << "Too many fields. Sorry, you can't do this." + fields = last_fields_value return if(id!="end")