Date: Mon, 2 May 2011 07:06:32 -0700 From: Artem Belevich <art@freebsd.org> To: Robert Schulze <rs@bytecamp.net> Cc: freebsd-hackers@freebsd.org Subject: Re: [LIBC] Modfied Version of sscanf Message-ID: <BANLkTim_WhRdWi8RbuubxQm4kD27V17h9g@mail.gmail.com> In-Reply-To: <4DBEAAD5.7040906@bytecamp.net> References: <C9E46C77.389%moeller.akt@googlemail.com> <4DBEAAD5.7040906@bytecamp.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, May 2, 2011 at 6:00 AM, Robert Schulze <rs@bytecamp.net> wrote:
> Hi,
>
> Am 02.05.2011 14:13, schrieb Martin Möller:
>>
>> Criteria:
>> o Receive the value of<resource>
>> o Check the Environment: Is<resource> really sourrounded by 'GET '
>> and
>> 'HTTP/1.1' ?!
>
> these quite simple criteria might be matched by code like this one:
>
> char *ptr=NULL;
> char *res=NULL;
> if(strstr(str,"GET ")==str) /* "GET " at beginning? */
> {
> ptr=(str+4);
> if(ptr && (ptr=strstr(ptr," HTTP/1.1"))) /* find end of res */
> {
> *ptr=0; /* temp delimiter */
> res=strdup(ptr);
> *ptr=' '; /* restore original value of str */
> }
> }
Bzzt!
Try it on "GET blah_HTTP/1.1.1.1.1.1_whatever HTTP/1.1"
>
> res is the value of <resource>, or NULL.
>
Second problem -- res on success will always be "" as you've just did *ptr=0.
--Artem
> with kind regards,
> Robert Schulze
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"
>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTim_WhRdWi8RbuubxQm4kD27V17h9g>
