From owner-freebsd-questions@FreeBSD.ORG Mon Oct 19 05:25:10 2009 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AD54A1065692 for ; Mon, 19 Oct 2009 05:25:10 +0000 (UTC) (envelope-from kline@thought.org) Received: from aristotle.thought.org (ns1.thought.org [209.180.213.210]) by mx1.freebsd.org (Postfix) with ESMTP id 4D3118FC1C for ; Mon, 19 Oct 2009 05:25:10 +0000 (UTC) Received: from thought.org (tao.thought.org [10.47.0.250]) (authenticated bits=0) by aristotle.thought.org (8.14.2/8.14.2) with ESMTP id n9J5OvEG022673; Sun, 18 Oct 2009 22:24:57 -0700 (PDT) (envelope-from kline@thought.org) From: Gary Kline Received: by thought.org (nbSMTP-1.00) for uid 1002 kline@thought.org; Sun, 18 Oct 2009 22:25:01 -0700 (PDT) Date: Sun, 18 Oct 2009 22:25:01 -0700 To: Polytropon Message-ID: <20091019052501.GD9657@thought.org> References: <20091019013337.GA9522@thought.org> <20091019040229.b4e11bbc.freebsd@edvax.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20091019040229.b4e11bbc.freebsd@edvax.de> User-Agent: Mutt/1.4.2.3i /rom: Gary Kline X-Organization: Thought Unlimited. Public service Unix since 1986. X-Of_Interest: With 23 years of service to the Unix community. X-Spam-Status: No, score=-4.4 required=3.6 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.2.3 X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on aristotle.thought.org Cc: FreeBSD Mailing List Subject: Re: need C help, passing char buffer[] by-value.... X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Oct 2009 05:25:10 -0000 On Mon, Oct 19, 2009 at 04:02:29AM +0200, Polytropon wrote: > On Sun, 18 Oct 2009 18:33:43 -0700, Gary Kline 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? i hadn't thought of this approach, but counting the number of bytes in a might wwork!! gary > > > -- > Polytropon > Magdeburg, Germany > Happy FreeBSD user since 4.0 > Andra moi ennepe, Mousa, ... -- Gary Kline kline@thought.org http://www.thought.org Public Service Unix http://jottings.thought.org http://transfinite.thought.org The 7.31a release of Jottings: http://jottings.thought.org/index.php