From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3821 invoked by alias); 25 Mar 2017 06:55:59 -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: 40898 Received: (qmail 9277 invoked from network); 25 Mar 2017 06:55:59 -0000 X-Qmail-Scanner-Diagnostics: from aok120.rev.netart.pl by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(85.128.245.120):SA:0(0.0/5.0):. Processed in 1.377029 secs); 25 Mar 2017 06:55:59 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: psprint@zdharma.org X-Qmail-Scanner-Mime-Attachments: |gdbm_errno.diff| X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at zdharma.org does not designate permitted sender hosts) X-Virus-Scanned: by amavisd-new using ClamAV (5) Date: Sat, 25 Mar 2017 07:55:54 +0100 From: Sebastian Gniazdowski To: zsh-workers@zsh.org Message-ID: Subject: [PATCH] Use gdbm_errno with gdbm_open X-Mailer: Airmail (231) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="58d6147a_66334873_17199" --58d6147a_66334873_17199 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hello, there was one report about gdbm=5Fopen() failing. The patch uses gdbm=5Fe= rrno / gdbm=5Fstrerror() to know what exactly happened. I've checked that= it works: ztie: error opening database file /Users/sgniazdowski/db3 (Can't be write= r) =E2=80=93 after ztie to already opened database. I hope Airmail will not = mess up the patch. It is also attached. Sebastian Gniazdowski psprint =5Bat=5D zdharma.org diff --git a/Src/Modules/db=5Fgdbm.c b/Src/Modules/db=5Fgdbm.c index 596a8ae..0a28a07 100644 --- a/Src/Modules/db=5Fgdbm.c +++ b/Src/Modules/db=5Fgdbm.c =40=40 -154,12 +154,13 =40=40 bin=5Fztie(char *nam, char **args, Options = ops, UNUSED(int func)) =C2=A0 =C2=A0 =C2=A0return 1; =C2=A0 =C2=A0 =C2=A0=7D =C2=A0 + =C2=A0 =C2=A0gdbm=5Ferrno=3D0; =C2=A0 =C2=A0 =C2=A0dbf =3D gdbm=5Fopen(resource=5Fname, 0, read=5Fwrite,= 0666, 0); =C2=A0 =C2=A0 =C2=A0if(dbf) =7B =C2=A0 addmodulefd(gdbm=5Ffdesc(dbf), =46DT=5FMODULE); =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0append=5Ftied=5Fname(pmname); =C2=A0 =C2=A0 =C2=A0=7D else =7B - zwarnnam(nam, =22error opening database file %s=22, resource=5Fname); + zwarnnam(nam, =22error opening database file %s (%s)=22, resource=5Fnam= e, gdbm=5Fstrerror(gdbm=5Ferrno)); =C2=A0 return 1; =C2=A0 =C2=A0 =C2=A0=7D =C2=A0 --58d6147a_66334873_17199 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="=?utf-8?Q?gdbm=5Ferrno.diff?=" ZGlmZiAtLWdpdCBhL1NyYy9Nb2R1bGVzL2RiX2dkYm0uYyBiL1NyYy9Nb2R1bGVzL2RiX2dkYm0u YwppbmRleCA1OTZhOGFlLi4wYTI4YTA3IDEwMDY0NAotLS0gYS9TcmMvTW9kdWxlcy9kYl9nZGJt LmMKKysrIGIvU3JjL01vZHVsZXMvZGJfZ2RibS5jCkBAIC0xNTQsMTIgKzE1NCwxMyBAQCBiaW5f enRpZShjaGFyICpuYW0sIGNoYXIgKiphcmdzLCBPcHRpb25zIG9wcywgVU5VU0VEKGludCBmdW5j KSkKIAkgICAgcmV0dXJuIDE7CiAgICAgfQogCisgICAgZ2RibV9lcnJubz0wOwogICAgIGRiZiA9 IGdkYm1fb3BlbihyZXNvdXJjZV9uYW1lLCAwLCByZWFkX3dyaXRlLCAwNjY2LCAwKTsKICAgICBp ZihkYmYpIHsKIAlhZGRtb2R1bGVmZChnZGJtX2ZkZXNjKGRiZiksIEZEVF9NT0RVTEUpOwogICAg ICAgICBhcHBlbmRfdGllZF9uYW1lKHBtbmFtZSk7CiAgICAgfSBlbHNlIHsKLQl6d2Fybm5hbShu YW0sICJlcnJvciBvcGVuaW5nIGRhdGFiYXNlIGZpbGUgJXMiLCByZXNvdXJjZV9uYW1lKTsKKwl6 d2Fybm5hbShuYW0sICJlcnJvciBvcGVuaW5nIGRhdGFiYXNlIGZpbGUgJXMgKCVzKSIsIHJlc291 cmNlX25hbWUsIGdkYm1fc3RyZXJyb3IoZ2RibV9lcnJubykpOwogCXJldHVybiAxOwogICAgIH0K IAo= --58d6147a_66334873_17199--