Skip to Content.
Sympa Menu

freetds - Re: [freetds] incorrect fix in net.c

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "James K. Lowden" <jklowden AT freetds.org>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] incorrect fix in net.c
  • Date: Mon, 6 Apr 2009 21:38:33 -0400

Frediano Ziglio wrote:
> 2009/4/4 James K. Lowden <jklowden AT schemamania.org>:
> > --- src/tds/net.c       16 Mar 2009 07:49:57 -0000      1.90
> > +++ src/tds/net.c       27 Mar 2009 09:22:49 -0000      1.91
> > @@ -700,7 +700,7 @@
> >           continue;
> >   }
> >
> > -  if (0 == nput || nput < 0 && sock_errno == EAGAIN)
> > +  if (0 == nput || sock_errno == EAGAIN)
> >           continue;
> >
> >
> > The above change is incorrect.  sock_errno has no meaning unless
> > send/write returns -1.
> >
>
> [The] > 0 case is already handled, 0 case is tested by "0 == nput" so
> only < 0 is left (where sock_errno is valid)

Ah, clever. OK.

BTW, our mail clients are at war over spaces. :-(

The quoted text above appears on my screen as a series of pairs of 0x20
spaces alternating with "Â", what Unicode calls "LATIN CAPITAL LETTER A
WITH CIRCUMFLEX", U+00C2.

What I originally sent was just a series of ASCII spaces, 0x20's. The
mail header announced the encoding:

Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit

Your message has

Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

Decoded, the utf-8 looks like this:

$ sed -ne'/^Mj/,$p' 19500 | base64 -d | hexdump -C | sed -ne
'/net/,/continue/p'

64 73 2f 6e 65 74 2e 63 20 c2 a0 20 c2 a0 20 c2 |ds/net.c .. .. .|
a0 20 31 36 20 4d 61 72 20 32 30 30 39 20 30 37 |. 16 Mar 2009 07|
3a 34 39 3a 35 37 20 2d 30 30 30 30 20 c2 a0 20 |:49:57 -0000 .. |
c2 a0 20 c2 a0 31 2e 39 30 0a 3e 20 2b 2b 2b 20 |.. ..1.90.> +++ |
73 72 63 2f 74 64 73 2f 6e 65 74 2e 63 20 c2 a0 |src/tds/net.c ..|
20 c2 a0 20 c2 a0 20 32 37 20 4d 61 72 20 32 30 | .. .. 27 Mar 20|
30 39 20 30 39 3a 32 32 3a 34 39 20 2d 30 30 30 |09 09:22:49 -000|
30 20 c2 a0 20 c2 a0 20 c2 a0 31 2e 39 31 0a 3e |0 .. .. ..1.91.>|
20 40 40 20 2d 37 30 30 2c 37 20 2b 37 30 30 2c | @@ -700,7 +700,|
37 20 40 40 0a 3e 20 c2 a0 20 c2 a0 20 c2 a0 20 |7 @@.> .. .. .. |
c2 a0 20 c2 a0 20 63 6f 6e 74 69 6e 75 65 3b 0a |.. .. continue;.|

Your mail client apparently converts every 0x20 0x20 pair to 0x20 0xA0,
makes every 2nd space a non-breaking space. Those "c2 a0" sequences are
UTF-8 encodings of U+A0, a non-breaking space.

My mail client, however, apparently doesn't recognize the charset property
of the Content-Type header. It treats "c2 a0" as two characters: 0xC2 and
0xA0, an  and a non-breaking space.

One of these days I'll upgrade, and I'm sure this old bug was fixed long
ago. But I thought you might want to know where all those weird
characters were coming from.

Regards,

--jkl




Archive powered by MHonArc 2.6.24.

Top of Page