X-Git-Url: http://git.megacz.com/?p=org.ibex.mail.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fmail%2FHeaders.java;h=caf0c114639f8187d52a4964de92b832fd786ec9;hp=327542340cbd7473719ca9d9e94d437e5f686765;hb=5e11064775c7df5bad7e9bb1b665aabbf42295be;hpb=18304db7ddfb63f25cd83ee06781d924f7a6b496 diff --git a/src/org/ibex/mail/Headers.java b/src/org/ibex/mail/Headers.java index 3275423..caf0c11 100644 --- a/src/org/ibex/mail/Headers.java +++ b/src/org/ibex/mail/Headers.java @@ -28,26 +28,26 @@ public class Headers extends JS.Immutable implements Fountain { if (ret==null) ret = (String)head.get(s.toLowerCase()); return ret; } + public void remove(String k) { put(k, null); } public void put(String k, String v) { Stream stream = getStream(); StringBuffer all = new StringBuffer(); int lines = 0; - boolean good = false; String key = null; for(String s = stream.readln(); s != null && !s.equals(""); s = stream.readln()) { - if (Character.isSpace(s.charAt(0))) { all.append(s); all.append("\r\n"); lines++; continue; } - if (s.indexOf(':') == -1) throw new Malformed("Header line does not contain colon: " + s); - key = s.substring(0, s.indexOf(':')).toLowerCase(); - lines++; + if (!Character.isSpace(s.charAt(0))) { + if (s.indexOf(':') == -1) throw new Malformed("Header line does not contain colon: " + s); + key = s.substring(0, s.indexOf(':')).toLowerCase(); + } if (key.toLowerCase().equals(k.toLowerCase())) { - good = true; - all.append(k + ": " + v + "\r\n"); + if (v != null) { all.append(k + ": " + v + "\r\n"); lines++; v = null; } continue; } all.append(s); all.append("\r\n"); + lines++; } - if (!good) { + if (v != null) { lines++; all.append(k + ": " + v + "\r\n"); }