From patchwork Mon Sep 20 15:00:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Jan_Ekstr=C3=B6m?= X-Patchwork-Id: 30379 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp1532641iob; Mon, 20 Sep 2021 08:02:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzV24IX1D/oepf0/+cy8ijz5ngNCEfEXZcofosVNTYkNXggBzH3g5SGppvf71daK2HiFO3y X-Received: by 2002:a17:906:130a:: with SMTP id w10mr29880711ejb.87.1632150172268; Mon, 20 Sep 2021 08:02:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632150172; cv=none; d=google.com; s=arc-20160816; b=VcmiYdNbsfUWMqElHBDmYV8Z7SMUxATjQrybYUGkjRVL2C9xy4tlX3GLO8MjnsO1HF WhUsOPacL1hT2kVJzI1xuc33tks+JRnas3YwHhdaekGBDBKqo7R/SbToS1BM3hyZofgv 21epr++a0LdkiKJeqA7NNFnd8/k8EBVaNNWbF611gLsVLTizTF2FbHUmHn+U4xYBP0wl oSUIa1VudNKDvFrFiB6pLc19l0vznW+2naHhII4F0NR3+OD+zWgwlKQTg0tOYjYKXSIR bRL5TlD+j1CUr1jlraSlrULG/3LBmUgo1M2SfEu8TWVn8NlOlOki+rF7MbCIPHfFn/Cj TC4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=rj4AwAlJp/nUCzmE9V49zlJWThCtBJgM/ctkqH6/RgA=; b=rHL0TGdiIL2t/yWaF2ZJs9+u8tyYzeNG42y8d7z45R8Apyk+2uB2Xe25WZQ3dYTmTR OfC+h/b1Xa3a3Y/TiiBIYNV7JzvAv6zKq6NtsDLCylAbeIUlzeiFC6SPvxI48a3HLV2+ fIQbUHApbrC7hcTBDihKFKg/X5gcd3w8hpKil+KXgwYtXur+Ym9tr0+e5sbzasp1ujSW lvZgQX3pPM3HLs3NdVRWVBbbXXmIJDH/HXHG8MfnMbBpGpsh604ehQFk9489QPwd+cEp FfYU4DGgMnuQXrZVlimw6Wmp+PvWa0/vqJ4XKK+izf/1hIiII9EEgfO3ZJMJpkZEFo1A 3x3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=WItuHwBP; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id jy11si17130773ejc.732.2021.09.20.08.02.51; Mon, 20 Sep 2021 08:02:52 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=WItuHwBP; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6228568AF32; Mon, 20 Sep 2021 18:02:42 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C2CA168AF1F for ; Mon, 20 Sep 2021 18:02:36 +0300 (EEST) Received: by mail-lf1-f46.google.com with SMTP id b20so10364678lfv.3 for ; Mon, 20 Sep 2021 08:02:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=SkLsF7CaoqPXZEttHi5Gm0vyMkzaApUET+GfKD3/VO0=; b=WItuHwBPrNoqRpEB6LRZ5cwmfP//6IcM3BJYh431PEYGswoQCFBr+HCa+TTWromllL ieSrZMGJ5Qf1M/5vNbUmRLCtpVEtWcW3Tva/dzMnjL3UXFvYm1XIQD23fI8MlKiWntr6 /ePacQPTXdVRyP69xiSno0Yif7v60uthsFSq4k8+Qvg0Ld6TRL23jQbOPHihADPUwQPO aack9M/c/bxA5HgICvY9+/64HPt4UqZrbH7IJKPf4ProgAZ1yeYoQq5yHChvRi/PxRMw 3EB1z822zB+ZFG7Snl33W3cKWAMjL7Hj2nWMbdZPvcZG9TGHw+OAkM5Fole3d4V9y8JC Fh5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SkLsF7CaoqPXZEttHi5Gm0vyMkzaApUET+GfKD3/VO0=; b=nbYBFY8vEIDVDBb+PQwhWy/97eU0Hw+rLbRiRc2hyhsSo1bpMpVwJ810cmsX6TXLDH MZjxl4M2oNFbwLisISSbkp7u6rU20g7pfQQrSa7wm78mnczel4+eMP4vK6hnuBwyFmr+ RAO8aVY4wOObjCkW3g2/UPqPJyNvqsnTCmhTGu2fDtRq/Vu9YTMeAHUEiNYmyscXw84Q QXjd4pn0nzAVL6p14inKdkYOEyGwWUNUHjjmxlvc+M6k2Grk73HFaHY1NiKVjxJW9MQv jby5iu2n51SFrE7LjVYdTPMT6tWGr9HK3nP/cX6myVAF+y9O+mac50lfRHQsd4yjJ+hr 96Vw== X-Gm-Message-State: AOAM531FNMzlOoBlsOB5HXpoGwrlU+OTXPUOvkUpAaQxGy6CuALnxOVJ p78Rn0I9rYRB+d2XtRXfnk6mYytWKh0= X-Received: by 2002:a2e:9012:: with SMTP id h18mr297341ljg.336.1632150056539; Mon, 20 Sep 2021 08:00:56 -0700 (PDT) Received: from localhost.localdomain (91-159-194-103.elisa-laajakaista.fi. [91.159.194.103]) by smtp.gmail.com with ESMTPSA id v26sm1318300ljv.77.2021.09.20.08.00.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Sep 2021 08:00:55 -0700 (PDT) From: =?utf-8?q?Jan_Ekstr=C3=B6m?= To: ffmpeg-devel@ffmpeg.org Date: Mon, 20 Sep 2021 18:00:45 +0300 Message-Id: <20210920150048.8790-3-jeebjp@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210920150048.8790-1-jeebjp@gmail.com> References: <20210920150048.8790-1-jeebjp@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v3 2/5] avformat/{aviobuf, avio_internal}: add ff_read_string_to_bprint_overwrite X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 5cIETxmkfw4j From: Jan Ekström For now, same as ff_read_line_to_bprint_overwrite, but reads until the end of a null-terminated string. Signed-off-by: Jan Ekström --- libavformat/avio_internal.h | 12 ++++++++++++ libavformat/aviobuf.c | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/libavformat/avio_internal.h b/libavformat/avio_internal.h index 8b9e048f73..3b3ed3b619 100644 --- a/libavformat/avio_internal.h +++ b/libavformat/avio_internal.h @@ -245,4 +245,16 @@ struct AVBPrint; */ int64_t ff_read_line_to_bprint_overwrite(AVIOContext *s, struct AVBPrint *bp); +/** + * Read a whole null-terminated string of text from AVIOContext to an AVBPrint + * buffer overwriting its contents. Stop reading after reaching a \\0 or + * EOF. + * + * @param s the read-only AVIOContext + * @param bp the AVBPrint buffer + * @return the length of the read string not including the terminating null, + * negative on error, or if the buffer becomes truncated. + */ +int64_t ff_read_string_to_bprint_overwrite(AVIOContext *s, AVBPrint *bp); + #endif /* AVFORMAT_AVIO_INTERNAL_H */ diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index f24a3b0fe2..3b6f9aed42 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -863,6 +863,11 @@ int64_t ff_read_line_to_bprint_overwrite(AVIOContext *s, AVBPrint *bp) return read_string_to_bprint_overwrite(s, bp, FFBPrintReadLine); } +int64_t ff_read_string_to_bprint_overwrite(AVIOContext *s, AVBPrint *bp) +{ + return read_string_to_bprint_overwrite(s, bp, FFBPrintReadString); +} + int avio_get_str(AVIOContext *s, int maxlen, char *buf, int buflen) { int i;