String processing bug in .net 2?

  • Thread starter Thread starter greg.merideth
  • Start date Start date
G

greg.merideth

There's an automated email an application generates, that we've found a
wierd processing bug(?) with in .net 2.0

The app has the following lines. There are 20 lines above that use
"\n\r" that wrap just fine:

[20] message.Body += "EONE\n\r";
[21] message.Body += "Name [{0}] Reg# [{1}] Owner [{2}]\n\r";
[22] message.Body += "Association [{1}] ADOwner [{4}] \n\r";

and then mails the message. The wierd part is line 20 processes the
"\n\r" and wraps the line however, the "\n\r" are ignored on lines 21
and 22. The line comes out in a single continuous line. The [(0)]'s
need to be in there for an application to process the message. If I
remove the [(0)]'s the line wraps! Putting them back in the lines does
not wrap.

What would c# be doing with the "[(0)]" as it shouldn't try to process
them. With the [(0)] it doesn't process the "\n\r" and without the
[(0)] it works fine. Wierd eh?
 
Maybe its something that is being fed into those place holders later on
that is screwing it up?
Does it also happen if you use Environment.NewLine instead?
Is the email message HTML ? Could you use <br> instead to get around
your problem?
When the line doesn't wrap, does it actually print the \n\r?
 
There's an automated email an application generates, that we've found a
wierd processing bug(?) with in .net 2.0

The app has the following lines. There are 20 lines above that use
"\n\r" that wrap just fine:

Shouldn't that be \r\n?

Michael
 
There's an automated email an application generates, that we've found a
wierd processing bug(?) with in .net 2.0

The app has the following lines. There are 20 lines above that use
"\n\r" that wrap just fine:

[20] message.Body += "EONE\n\r";
[21] message.Body += "Name [{0}] Reg# [{1}] Owner [{2}]\n\r";
[22] message.Body += "Association [{1}] ADOwner [{4}] \n\r";

and then mails the message. The wierd part is line 20 processes the
"\n\r" and wraps the line however, the "\n\r" are ignored on lines 21
and 22. The line comes out in a single continuous line. The [(0)]'s
need to be in there for an application to process the message. If I
remove the [(0)]'s the line wraps! Putting them back in the lines does
not wrap.

What would c# be doing with the "[(0)]" as it shouldn't try to process
them. With the [(0)] it doesn't process the "\n\r" and without the
[(0)] it works fine. Wierd eh?

Well for a start, using "\n\r" is very odd - you should be using
"\r\n". However, if you don't believe that to be the issue, could you
post a short but complete program which demonstrates the problem?

See http://www.pobox.com/~skeet/csharp/complete.html for details of
what I mean by that.
 
Hi,

There's an automated email an application generates, that we've found a
wierd processing bug(?) with in .net 2.0

The app has the following lines. There are 20 lines above that use
"\n\r" that wrap just fine:

[20] message.Body += "EONE\n\r";
[21] message.Body += "Name [{0}] Reg# [{1}] Owner [{2}]\n\r";
[22] message.Body += "Association [{1}] ADOwner [{4}] \n\r";

I n addition to the others comments you better use StringBuilder to create
your message, in the current form you are generating lots of strings for no
reason
 
Since I took over this project I was swapping the design over to
stringbuilder but I simply haven't gotten to this part yet. I'll cut
down the code ( from the 300+ message.body += statements) to a 5 line
example and post it.
 
Back
Top