From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8509 invoked by alias); 7 Dec 2012 08:02:48 -0000 Received: (qmail 8500 invoked by uid 22791); 7 Dec 2012 08:02:47 -0000 X-SWARE-Spam-Status: No, hits=-4.7 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-bk0-f41.google.com (HELO mail-bk0-f41.google.com) (209.85.214.41) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 07 Dec 2012 08:02:41 +0000 Received: by mail-bk0-f41.google.com with SMTP id jg9so74159bkc.0 for ; Fri, 07 Dec 2012 00:02:40 -0800 (PST) Received: by 10.204.130.210 with SMTP id u18mr1577342bks.129.1354867359963; Fri, 07 Dec 2012 00:02:39 -0800 (PST) MIME-Version: 1.0 Received: by 10.205.32.12 with HTTP; Fri, 7 Dec 2012 00:01:59 -0800 (PST) In-Reply-To: <87txryx36w.fsf@fleche.redhat.com> References: <87txryx36w.fsf@fleche.redhat.com> From: Hui Zhu Date: Fri, 07 Dec 2012 08:02:00 -0000 Message-ID: Subject: Re: [PATCH] Add fseek to ui-file To: Tom Tromey Cc: gdb-patches ml , Hui Zhu Content-Type: multipart/mixed; boundary=00151747bd54b55a4e04d03ea3f4 X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-12/txt/msg00132.txt.bz2 --00151747bd54b55a4e04d03ea3f4 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 1782 On Fri, Dec 7, 2012 at 5:48 AM, Tom Tromey wrote: >>>>>> "Hui" == Hui Zhu writes: > > Hui> And stdio_file_fseek has a place different from the other stdio_file > Hui> functions. It check the return of fseek. If it got error, it will > Hui> throw error. > Hui> If you think it is OK, I will post patch for other stdio_file functions. > Hui> If not, it will update this patch. > > Thanks. > > Hui> void > Hui> +set_ui_file_fseek (struct ui_file *file, ui_file_fseek_ftype *fseek) > Hui> +{ > Hui> + file->to_fseek = fseek; > > I found the argument name 'fseek' confusing here, since this mimics a > global function of the same name. Could you rename the argument? OK. Fixed. And I found all other set_ui_file_xxx functions have this issue, do you mind I post a patch to update them? > > Hui> +static void stdio_file_fseek (struct ui_file * file, long offset, int whence) > Hui> +{ > > Newline after 'void'. Fixed. > > I wonder whether the null fseek ought to unconditionally throw an > exception. It seems to me that it can't really be successful. > > I think this should go in conditionally based on the other patches -- no > need to put it in if it turns out you can't use ui_file after all for > some reason. > I will post another patch for it later. What about let it throw a internal_error. > Tom The attachment is the new patch. Please help me review it. Thanks, Hui 2012-12-07 Hui Zhu * ui-file.c (ui_file): Add to_fseek. (ui_file_new): Call set_ui_file_fseek. (null_file_fseek, ui_file_fseek, set_ui_file_fseek, stdio_file_fseek): New functions. (stdio_file_new): Call set_ui_file_fseek. * ui-file.h (ui_file_fseek_ftype): New typedef. (set_ui_file_fseek, ui_file_fseek): New externs. --00151747bd54b55a4e04d03ea3f4 Content-Type: text/plain; charset=US-ASCII; name="ui-file-fseek.txt" Content-Disposition: attachment; filename="ui-file-fseek.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_haf102v40 Content-length: 4775 LS0tIGEvdWktZmlsZS5jCisrKyBiL3VpLWZpbGUuYwpAQCAtMzYsNiArMzYs NyBAQCBzdGF0aWMgdWlfZmlsZV9mbHVzaF9mdHlwZSBudWxsX2ZpbGVfZmx1 CiBzdGF0aWMgdWlfZmlsZV9kZWxldGVfZnR5cGUgbnVsbF9maWxlX2RlbGV0 ZTsKIHN0YXRpYyB1aV9maWxlX3Jld2luZF9mdHlwZSBudWxsX2ZpbGVfcmV3 aW5kOwogc3RhdGljIHVpX2ZpbGVfcHV0X2Z0eXBlIG51bGxfZmlsZV9wdXQ7 CitzdGF0aWMgdWlfZmlsZV9mc2Vla19mdHlwZSBudWxsX2ZpbGVfZnNlZWs7 CiAKIHN0cnVjdCB1aV9maWxlCiAgIHsKQEAgLTQ5LDYgKzUwLDcgQEAgc3Ry dWN0IHVpX2ZpbGUKICAgICB1aV9maWxlX2lzYXR0eV9mdHlwZSAqdG9faXNh dHR5OwogICAgIHVpX2ZpbGVfcmV3aW5kX2Z0eXBlICp0b19yZXdpbmQ7CiAg ICAgdWlfZmlsZV9wdXRfZnR5cGUgKnRvX3B1dDsKKyAgICB1aV9maWxlX2Zz ZWVrX2Z0eXBlICp0b19mc2VlazsKICAgICB2b2lkICp0b19kYXRhOwogICB9 OwogaW50IHVpX2ZpbGVfbWFnaWM7CkBAIC02OCw2ICs3MCw3IEBAIHVpX2Zp bGVfbmV3ICh2b2lkKQogICBzZXRfdWlfZmlsZV9pc2F0dHkgKGZpbGUsIG51 bGxfZmlsZV9pc2F0dHkpOwogICBzZXRfdWlfZmlsZV9yZXdpbmQgKGZpbGUs IG51bGxfZmlsZV9yZXdpbmQpOwogICBzZXRfdWlfZmlsZV9wdXQgKGZpbGUs IG51bGxfZmlsZV9wdXQpOworICBzZXRfdWlfZmlsZV9mc2VlayAoZmlsZSwg bnVsbF9maWxlX2ZzZWVrKTsKICAgcmV0dXJuIGZpbGU7CiB9CiAKQEAgLTE3 MCw2ICsxNzMsMTIgQEAgbnVsbF9maWxlX2RlbGV0ZSAoc3RydWN0IHVpX2Zp bGUgKmZpbGUpCiAgIHJldHVybjsKIH0KIAorc3RhdGljIHZvaWQKK251bGxf ZmlsZV9mc2VlayAoc3RydWN0IHVpX2ZpbGUgKiBzdHJlYW0sIGxvbmcgb2Zm c2V0LCBpbnQgd2hlbmNlKQoreworICByZXR1cm47Cit9CisKIHZvaWQgKgog dWlfZmlsZV9kYXRhIChzdHJ1Y3QgdWlfZmlsZSAqZmlsZSkKIHsKQEAgLTIy OCw2ICsyMzcsMTIgQEAgdWlfZmlsZV9yZWFkIChzdHJ1Y3QgdWlfZmlsZSAq ZmlsZSwgY2hhcgogfQogCiB2b2lkCit1aV9maWxlX2ZzZWVrIChzdHJ1Y3Qg dWlfZmlsZSAqIGZpbGUsIGxvbmcgb2Zmc2V0LCBpbnQgd2hlbmNlKQorewor ICBmaWxlLT50b19mc2VlayAoZmlsZSwgb2Zmc2V0LCB3aGVuY2UpOworfQor Cit2b2lkCiBmcHV0c191bmZpbHRlcmVkIChjb25zdCBjaGFyICpidWYsIHN0 cnVjdCB1aV9maWxlICpmaWxlKQogewogICBmaWxlLT50b19mcHV0cyAoYnVm LCBmaWxlKTsKQEAgLTI4NCw2ICsyOTksMTIgQEAgc2V0X3VpX2ZpbGVfZnB1 dHMgKHN0cnVjdCB1aV9maWxlICpmaWxlLAogfQogCiB2b2lkCitzZXRfdWlf ZmlsZV9mc2VlayAoc3RydWN0IHVpX2ZpbGUgKmZpbGUsIHVpX2ZpbGVfZnNl ZWtfZnR5cGUgKmZzZWVrX3ApCit7CisgIGZpbGUtPnRvX2ZzZWVrID0gZnNl ZWtfcDsKK30KKwordm9pZAogc2V0X3VpX2ZpbGVfZGF0YSAoc3RydWN0IHVp X2ZpbGUgKmZpbGUsIHZvaWQgKmRhdGEsCiAJCSAgdWlfZmlsZV9kZWxldGVf ZnR5cGUgKmRlbGV0ZSkKIHsKQEAgLTQ2OSw2ICs0OTAsNyBAQCBzdGF0aWMg dWlfZmlsZV9pc2F0dHlfZnR5cGUgc3RkaW9fZmlsZV9pCiBzdGF0aWMgdWlf ZmlsZV9kZWxldGVfZnR5cGUgc3RkaW9fZmlsZV9kZWxldGU7CiBzdGF0aWMg c3RydWN0IHVpX2ZpbGUgKnN0ZGlvX2ZpbGVfbmV3IChGSUxFICpmaWxlLCBp bnQgY2xvc2VfcCk7CiBzdGF0aWMgdWlfZmlsZV9mbHVzaF9mdHlwZSBzdGRp b19maWxlX2ZsdXNoOworc3RhdGljIHVpX2ZpbGVfZnNlZWtfZnR5cGUgc3Rk aW9fZmlsZV9mc2VlazsKIAogc3RhdGljIGludCBzdGRpb19maWxlX21hZ2lj OwogCkBAIC00OTksNiArNTIxLDcgQEAgc3RkaW9fZmlsZV9uZXcgKEZJTEUg KmZpbGUsIGludCBjbG9zZV9wKQogICBzZXRfdWlfZmlsZV9mcHV0cyAodWlf ZmlsZSwgc3RkaW9fZmlsZV9mcHV0cyk7CiAgIHNldF91aV9maWxlX3JlYWQg KHVpX2ZpbGUsIHN0ZGlvX2ZpbGVfcmVhZCk7CiAgIHNldF91aV9maWxlX2lz YXR0eSAodWlfZmlsZSwgc3RkaW9fZmlsZV9pc2F0dHkpOworICBzZXRfdWlf ZmlsZV9mc2VlayAodWlfZmlsZSwgc3RkaW9fZmlsZV9mc2Vlayk7CiAgIHJl dHVybiB1aV9maWxlOwogfQogCkBAIC02MTYsNiArNjM5LDE5IEBAIHN0ZGlv X2ZpbGVfaXNhdHR5IChzdHJ1Y3QgdWlfZmlsZSAqZmlsZSkKICAgcmV0dXJu IChpc2F0dHkgKHN0ZGlvLT5mZCkpOwogfQogCitzdGF0aWMgdm9pZAorc3Rk aW9fZmlsZV9mc2VlayAoc3RydWN0IHVpX2ZpbGUgKiBmaWxlLCBsb25nIG9m ZnNldCwgaW50IHdoZW5jZSkKK3sKKyAgc3RydWN0IHN0ZGlvX2ZpbGUgKnN0 ZGlvID0gdWlfZmlsZV9kYXRhIChmaWxlKTsKKworICBpZiAoc3RkaW8tPm1h Z2ljICE9ICZzdGRpb19maWxlX21hZ2ljKQorICAgIGludGVybmFsX2Vycm9y IChfX0ZJTEVfXywgX19MSU5FX18sCisJCSAgICBfKCJzdGRpb19maWxlX2Zz ZWVrOiBiYWQgbWFnaWMgbnVtYmVyIikpOworCisgIGlmIChmc2VlayAoc3Rk aW8tPmZpbGUsIG9mZnNldCwgd2hlbmNlKSkKKyAgICBlcnJvciAoXygiZnNl ZWsgZmFpbDogJXMiKSwgc2FmZV9zdHJlcnJvciAoZXJybm8pKTsKK30KKwog LyogTGlrZSBmZG9wZW4oKS4gIENyZWF0ZSBhIHVpX2ZpbGUgZnJvbSBhIHBy ZXZpb3VzbHkgb3BlbmVkIEZJTEUuICAqLwogCiBzdHJ1Y3QgdWlfZmlsZSAq Ci0tLSBhL3VpLWZpbGUuaAorKysgYi91aS1maWxlLmgKQEAgLTc5LDYgKzc5 LDExIEBAIHR5cGVkZWYgdm9pZCAodWlfZmlsZV9kZWxldGVfZnR5cGUpIChz dHIKIGV4dGVybiB2b2lkIHNldF91aV9maWxlX2RhdGEgKHN0cnVjdCB1aV9m aWxlICpzdHJlYW0sIHZvaWQgKmRhdGEsCiAJCQkgICAgICB1aV9maWxlX2Rl bGV0ZV9mdHlwZSAqZGVsZXRlKTsKIAordHlwZWRlZiB2b2lkICh1aV9maWxl X2ZzZWVrX2Z0eXBlKSAoc3RydWN0IHVpX2ZpbGUgKiBzdHJlYW0sIGxvbmcg b2Zmc2V0LAorCQkJCSAgICBpbnQgd2hlbmNlKTsKK2V4dGVybiB2b2lkIHNl dF91aV9maWxlX2ZzZWVrIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAorCQkJ ICAgICAgIHVpX2ZpbGVfZnNlZWtfZnR5cGUgKmZzZWVrKTsKKwogZXh0ZXJu IHZvaWQgKnVpX2ZpbGVfZGF0YSAoc3RydWN0IHVpX2ZpbGUgKmZpbGUpOwog CiAKQEAgLTExMyw2ICsxMTgsOCBAQCBleHRlcm4gY2hhciAqdWlfZmlsZV9v YnNhdmVzdHJpbmcgKHN0cnVjCiAKIGV4dGVybiBsb25nIHVpX2ZpbGVfcmVh ZCAoc3RydWN0IHVpX2ZpbGUgKmZpbGUsIGNoYXIgKmJ1ZiwgbG9uZyBsZW5n dGhfYnVmKTsKIAorZXh0ZXJuIHZvaWQgdWlfZmlsZV9mc2VlayAoc3RydWN0 IHVpX2ZpbGUgKiBmaWxlLCBsb25nIG9mZnNldCwgaW50IHdoZW5jZSk7CisK IC8qIENyZWF0ZS9vcGVuIGEgbWVtb3J5IGJhc2VkIGZpbGUuICBDYW4gYmUg dXNlZCBhcyBhIHNjcmF0Y2ggYnVmZmVyCiAgICBmb3IgY29sbGVjdGluZyBv dXRwdXQuICAqLwogZXh0ZXJuIHN0cnVjdCB1aV9maWxlICptZW1fZmlsZW9w ZW4gKHZvaWQpOwo= --00151747bd54b55a4e04d03ea3f4--