String processing bug in .net 2?

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?
 
S

Steven Nagy

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?
 
M

Michael C

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
 
J

Jon Skeet [C# MVP]

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.
 
I

Ignacio Machin \( .NET/ C# MVP \)

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
 
G

greg.merideth

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top