From patchwork Sun Sep 19 19:03:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Kacper_Piwi=C5=84ski?= X-Patchwork-Id: 45166 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3BBDF3858409 for ; Sun, 19 Sep 2021 19:03:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3BBDF3858409 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1632078234; bh=7FSHAc5AYPdUaW1IZSd82vpMoAMxqQPGdu49A+km+uo=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=Qa1hxQzX5/Veg5KVBbwgGQqXTC+KBCFUygtf8as4IwOU9geQP0nopjvoMngdbkvT0 VCMmGdNT7+BJmzxMnycO6pVzxu1sJIMZCU+cOGF36nw42pypUl9eoD0qDZn5I3rsAM yZ/y2RVAYBe8+zjux/e8WuGDbExZ7UXJQuzStXwc= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mx-out.tlen.pl (mx-out.tlen.pl [193.222.135.145]) by sourceware.org (Postfix) with ESMTPS id 62BEE3858409 for ; Sun, 19 Sep 2021 19:03:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 62BEE3858409 Received: (wp-smtpd smtp.tlen.pl 16166 invoked from network); 19 Sep 2021 21:03:29 +0200 Received: from public-gprs404142.centertel.pl (HELO localhost.localdomain) (cosiekvfj@o2.pl@[37.47.209.239]) (envelope-sender ) by smtp.tlen.pl (WP-SMTPD) with ECDHE-RSA-AES256-GCM-SHA384 encrypted SMTP for ; 19 Sep 2021 21:03:29 +0200 To: libc-alpha@sourceware.org Subject: [PATCH] fputs return the number of characters written Date: Sun, 19 Sep 2021 21:03:05 +0200 Message-Id: <20210919190305.10050-1-cosiekvfj@o2.pl> X-Mailer: git-send-email 2.33.0 MIME-Version: 1.0 X-WP-DKIM-Status: good (id: o2.pl) X-WP-MailID: b9ec7f10dfcad9e8e9a09acf8b52d686 X-WP-AV: skaner antywirusowy Poczty o2 X-WP-SPAM: NO 0000000 [UUMk] X-Spam-Status: No, score=-13.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: =?utf-8?q?Kacper_Piwi=C5=84ski_via_Libc-alpha?= From: =?utf-8?q?Kacper_Piwi=C5=84ski?= Reply-To: =?utf-8?q?Kacper_Piwi=C5=84ski?= Cc: =?utf-8?q?Kacper_Piwi=C5=84ski?= Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" We already compute strlen so there is no reason to not return it and be consistent with puts --- libio/iofputs.c | 4 +++- libio/iofputs_u.c | 4 +++- libio/ioputs.c | 3 +-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libio/iofputs.c b/libio/iofputs.c index a8721314bc..83fde6687a 100644 --- a/libio/iofputs.c +++ b/libio/iofputs.c @@ -34,9 +34,11 @@ _IO_fputs (const char *str, FILE *fp) int result = EOF; CHECK_FILE (fp, EOF); _IO_acquire_lock (fp); + if ((_IO_vtable_offset (fp) != 0 || _IO_fwide (fp, -1) == -1) && _IO_sputn (fp, str, len) == len) - result = 1; + result = MIN (INT_MAX, len); + _IO_release_lock (fp); return result; } diff --git a/libio/iofputs_u.c b/libio/iofputs_u.c index b9eb3b415f..907f6119af 100644 --- a/libio/iofputs_u.c +++ b/libio/iofputs_u.c @@ -34,8 +34,10 @@ __fputs_unlocked (const char *str, FILE *fp) size_t len = strlen (str); int result = EOF; CHECK_FILE (fp, EOF); + if (_IO_fwide (fp, -1) == -1 && _IO_sputn (fp, str, len) == len) - result = 1; + result = MIN (INT_MAX, len); + return result; } libc_hidden_def (__fputs_unlocked) diff --git a/libio/ioputs.c b/libio/ioputs.c index 99a177876a..5969c0af30 100644 --- a/libio/ioputs.c +++ b/libio/ioputs.c @@ -35,8 +35,7 @@ _IO_puts (const char *str) size_t len = strlen (str); _IO_acquire_lock (stdout); - if ((_IO_vtable_offset (stdout) != 0 - || _IO_fwide (stdout, -1) == -1) + if ((_IO_vtable_offset (stdout) != 0 || _IO_fwide (stdout, -1) == -1) && _IO_sputn (stdout, str, len) == len && _IO_putc_unlocked ('\n', stdout) != EOF) result = MIN (INT_MAX, len + 1);