[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: sscanf broken?
From: |
Andreas Schwab |
Subject: |
Re: sscanf broken? |
Date: |
12 Sep 2001 14:20:04 +0200 |
User-agent: |
Gnus/5.090003 (Oort Gnus v0.03) Emacs/21.0.106 |
matt farnsworth <address@hidden> writes:
|> I expected 'sscanf(src,form,*to...)' to parse like a weak regex; but it
|> doesn't!
|>
|> consider
|> sscanf("URL http://svr.any.srv mode/1.1\n",
|> "URL http://%s mode/%d.%d",
|> &host, &maj, &min); == 3 // ok
|> but
|> sscanf("URL http://svr.any.srv/resource mode/1.1\n",
|> "URL http://%s/%s mode/%d.%d",
|> &host, &res, &maj, &min); == 1 // FAIL
|> and
|> sscanf("URL http://svr.any.srv /resource mode/1.1\n",
|> "URL http://%s /%s mode/%d.%d",
|> &host, &res, &maj, &min); == 4 // ok, but wrong params
|>
|> thus shown
|> sscanf requires %s to terminate with a <space>
Yes.
|> but I expected
|> %s<non-s-char> ==> {break on non-s-char}
No.
|> Is this really standard behaviour?
Yes.
|> Does this suck?
No. Either use %[^/] or write your own parser.
Andreas.
--
Andreas Schwab "And now for something
address@hidden completely different."
SuSE Labs, SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
- sscanf broken?, matt farnsworth, 2001/09/12
- Re: sscanf broken?,
Andreas Schwab <=