Deutsch   English   Français   Italiano  
<1026489$e1bd$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Lawrence D'Oliveiro <ldo@nz.invalid>
Newsgroups: comp.lang.c
Subject: Re: encapsulating directory operations
Date: Mon, 9 Jun 2025 07:59:05 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 14
Message-ID: <1026489$e1bd$1@dont-email.me>
References: <100h650$23r5l$1@dont-email.me>
	<101gq6l$1rdgj$1@raubtier-asyl.eternal-september.org>
	<101h0an$1tkqk$1@dont-email.me>
	<101jk7i$34erh$1@raubtier-asyl.eternal-september.org>
	<1nj%P.3454$mAv4.2422@fx34.iad>
	<101nc3o$5pjd$1@raubtier-asyl.eternal-september.org>
	<h6H%P.676329$McHf.348392@fx15.iad>
	<101u8sb$25g28$1@raubtier-asyl.eternal-september.org>
	<3FC0Q.931590$G6Lf.397684@fx17.iad>
	<101v7d7$2cudl$1@raubtier-asyl.eternal-september.org>
	<CvF0Q.1165311$McHf.1120306@fx15.iad>
	<101v8ce$2d5it$1@raubtier-asyl.eternal-september.org>
	<0e9619f7d873a4ec436f017bac1192c73c5283e5.camel@gmail.com>
	<1020eu8$2pifl$1@raubtier-asyl.eternal-september.org>
	<1e3f53801e22a94356b9b0aded0ed7d33e67fd06.camel@gmail.com>
	<1021pgp$35sqk$1@raubtier-asyl.eternal-september.org>
	<1858c98adc50b2bec4021f15d0c5b94e2158f6b5.camel@gmail.com>
	<10223hq$38g0s$1@raubtier-asyl.eternal-september.org>
	<5484915e06dec7fa7a1371a9eb41801a00495079.camel@gmail.com>
	<1023gak$3nt1m$1@raubtier-asyl.eternal-september.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 09 Jun 2025 09:59:05 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="5752efaa82bad3e61c79f97a111f3c02";
	logging-data="460141"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1/+h6jlnOw1bDCwcJZe+5iy"
User-Agent: Pan/0.162 (Pokrosvk)
Cancel-Lock: sha1:6WqvWDGJWD3/YMtN7It4MCMZSmg=
Bytes: 2613

On Sun, 8 Jun 2025 10:06:58 +0200, Bonita Montero wrote:

> In C every call level has to deal with erorrs, whereas in C++ only
> one level at the upper edge has to catch the errors.

Not necessarily that simple. It might be easier if C++ had
try/finally (like Python does), but it doesn’t.

Here’s a patch I submitted to the Blender project some years ago to
fix up their directory-scan code to gracefully recover from errors
without either memory leaks or double-frees. This code is in C. It’s
all a matter of structured programming.

<https://projects.blender.org/blender/blender/src/commit/edf4855a38e3ee24874431f7c6321f04cb6d1b2f>