Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Oct 2009 04:02:29 +0200
From:      Polytropon <freebsd@edvax.de>
To:        Gary Kline <kline@thought.org>
Cc:        FreeBSD Mailing List <freebsd-questions@freebsd.org>
Subject:   Re: need C help, passing char buffer[] by-value....
Message-ID:  <20091019040229.b4e11bbc.freebsd@edvax.de>
In-Reply-To: <20091019013337.GA9522@thought.org>
References:  <20091019013337.GA9522@thought.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 18 Oct 2009 18:33:43 -0700, Gary Kline <kline@thought.org> wrote:
> Guys,
> 
> maybe this can't be done reading in a file with fgets(buffer[128], fp),
> then calling skiptags(), conditionally, to while () past ',' and '>'.
> 
> I know I need to calll skipTags with its address, skipTags(&buffer);,
> but then how to i
> handle the variable "s" in skipTags?  Anybody?

It's quite complicated. Soes it need to be? :-)



> // redo, skip TAGS

Is this C or C++ source code? I always thought // was C++
specific...



> skipTags((char *)&s)

Where's my return datatype? And when (int) is the default,
where is my return statement? :-)

> {
>         if (*s == '<')
>         {
>                 while (*s != '>')
>                 {
>                         s++;
>                 }
>                 s++;
>         }
> }

If you need type conversion, you can't do this in the
function's declaration. You need to perform this with
the call. The function would rather start as

	void skipTags(char *s)

and then be called with the correct pointer

	char *bla;
	...
	skipTags(bla);

Instead of pointer arithmethics, which is one of the
ultimate skills in C, you could use an iterator from 0
to strlen(s).

I think the code above is just part of a bigger mechanism.
Looks like you want to "shift" the character pointer to
override any <...> segments, and then let some other
parts do something more, right?


-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091019040229.b4e11bbc.freebsd>