From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1412 invoked by alias); 4 Dec 2015 00:36:22 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 37300 Received: (qmail 12071 invoked from network); 4 Dec 2015 00:36:20 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:date:in-reply-to:comments:references:to:subject :mime-version:content-type; bh=9R/cagvCTiessKI9C88gDpEaFMztmJhTZ8Ohnup1gB0=; b=QIaZjZukVJfIkrovHjHAR1GdxMbJET4Rl83551hDm1wW0nfQRK5Jxbn9fo4iihUhlc d2SdLC9uEGgn8s7DgDlI9eldslrJLoSG4ar20NoroTXrsUVipzKQL9iLmWfiRyc+Ewkf CbdfZxkNphH/f7O1C1tYXlMCa3GUtnhkqm45mxmPC3d1j1rF8PdwHHZqgCBls43ODzOw nACwcp/6aiL1ekhS80372wWD0axlNTFUcxh1t9Sbr/2ujXi4bMDDi/OPudhZE7DxfVNv qr6rRElft36dJlF9eI5PGyr72dhwsHM8Ea6vJWdRfMeLn+IdY3XlFuy8ALJV53r1Gv5y ntig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:message-id:date:in-reply-to:comments :references:to:subject:mime-version:content-type; bh=9R/cagvCTiessKI9C88gDpEaFMztmJhTZ8Ohnup1gB0=; b=UOg/rGOCI5f6w1BqAGQqUJcgF6Kae4KJdlf8bLfHnY1Xf4LbFq4gNi3DXu4spXideD 3hNg5HDgY8/wjb/EEnaZ8LZFfmrZpQmOU9XAb8OeaizvmVMUSTzKKN24mMumygqdgW7a rGIeoH2DTa4thSQvQ6+vqb6zV5qD3+79Spzu95PgeVl6STGfNtn9dkTF4w/Cyv8caVy1 bohKUuwl0h1ek9NalY3Cluw1YfvVpEOc2GRUi1yirgfRfH/vKLmY6mlT8wF3YHUOIZhS yljbzaexjEbs4M6fOo+fZCSBkaTWHbdAp/NzEsH1wRig06kp61xlVeEIQPOlvQuQyEKW 4vBg== X-Gm-Message-State: ALoCoQmqvDzJ+Yb95TbVcSBs/OIxeZefHcxq00WW3BFilmT+Rq6LWsVU9wat96B7Lh29OYm+/g4k X-Received: by 10.66.102.37 with SMTP id fl5mr17410686pab.24.1449189377057; Thu, 03 Dec 2015 16:36:17 -0800 (PST) From: Bart Schaefer Message-Id: <151203163617.ZM13079@torch.brasslantern.com> Date: Thu, 3 Dec 2015 16:36:17 -0800 In-Reply-To: <20151203233719.GE1955@tarsus.local2> Comments: In reply to Daniel Shahaf "Re: [PATCH 3/3] Constify two local variables." (Dec 3, 11:37pm) References: <20151202003654.GE2462@tarsus.local2> <151201171121.ZM710@torch.brasslantern.com> <20151203233719.GE1955@tarsus.local2> X-Mailer: OpenZMail Classic (0.9.2 24April2005) To: zsh-workers@zsh.org Subject: Re: [PATCH 3/3] Constify two local variables. MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On Dec 3, 11:37pm, Daniel Shahaf wrote: } Subject: Re: [PATCH 3/3] Constify two local variables. } } Bart Schaefer wrote on Tue, Dec 01, 2015 at 17:11:21 -0800: } > On Dec 2, 12:36am, Daniel Shahaf wrote: } > } } > } memcpy(dummy, vals, N) } > } setfn(dummy) } > } > Would that memcpy() really work, or would it need to be zarrdup() to copy } > each of the elements as well? Because e.g. arrsetfn() does freearray(). } } I think it would work, because setarrvalue() in HEAD calls freearray() } on the values array, implying that the individual elements are already } permanently allocated. That's exactly why I think it would NOT work! If you memcp() only the pointers and then pass a new pointer-to-pointer into arrsetfn(), it's going to call freearray() and discard all the individual pointers that you intended would become the [re-used] elements.