--- framework/subsystems/ogsmd/gsm/parser.py~ 2008-07-31 19:20:29.000000000 +0200
+++ framework/subsystems/ogsmd/gsm/parser.py 2008-08-01 04:42:16.000000000 +0200
@@ -155,14 +155,19 @@
self.curline += b
return self.state_inline
else:
- if b == "\r":
- return self.state_inline_r
- # usually this should not happen, but some SMS are badly formatted
- if b == '\n':
- if s:
- return self.solicitedLineCompleted()
- else:
- return self.unsolicitedLineCompleted()
+ if self.curline.count('"')%2:
+ if DEBUG: print "WARNING allowing \\r\\n in "" on curline: ", repr(self.curline)
+ self.curline += b
+ return self.state_inline
+ else:
+ if b == "\r":
+ return self.state_inline_r
+ # usually this should not happen, but some SMS are badly formatted
+ if b == '\n':
+ if s:
+ return self.solicitedLineCompleted()
+ else:
+ return self.unsolicitedLineCompleted()
def state_inline_r( self, b, s ):
if b == '\r':