From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 115E6C27C4F for ; Sun, 30 Jun 2024 16:26:43 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sNxN6-0006JS-41; Sun, 30 Jun 2024 12:25:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sNxN3-0006Ho-0u for grub-devel@gnu.org; Sun, 30 Jun 2024 12:25:45 -0400 Received: from cyberdimension.org ([2001:678:938:3ff::36] helo=rockpro64.cyberdimension.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1sNxN1-0008I7-2e; Sun, 30 Jun 2024 12:25:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=dkim; bh=vbJxKawu/FhWfZ8 XaL3id8ZFYGFeZwR9pQIQNyvMsKI=; h=references:in-reply-to:date:subject: cc:to:from; d=cyberdimension.org; b=BKlZ+3DTa0NZJ2peOLX2HrXoKstKTK2I4N IY0lDJlhYpeIBfI17SFDEeDNIyoVzx+HRXOor5eS9P7aKqyTmE4FlhntB7o3IXoOswrh+p b3z40CU8xru3DwNqdjVz2XnnRXPZje5yu3nDla7cO5biYsfcs/cjfyw8JpLb/iGsNS41Ff nUhdu5ZDDRo601IprKgXs4zhF+J/9DBvOWXxQGRgF6loDt8O96fTlvdLDthPixZI1Wp+VS lk04viYD2YaiBVKe6aMNMaDF/2f/Ncu9EeTLZ4Qs3U49G8FLpeONFwj9AwgvaLlKqMSk6/ hEfi5k/YPtzdyeh/uzBx0nAERxiA== Received: from localhost.localdomain (localhost [127.0.0.1]) by rockpro64.cyberdimension.org (OpenSMTPD) with ESMTP id 0d2e465c; Sun, 30 Jun 2024 16:25:34 +0000 (UTC) From: Denis 'GNUtoo' Carikli To: grub-devel@gnu.org Cc: Adrien 'neox' Bourmault , Denis 'GNUtoo' Carikli Subject: [RFC][PATCH v1 1/4] Add grub_env_append function. Date: Sun, 30 Jun 2024 18:25:16 +0200 Message-ID: <20240630162519.25173-2-GNUtoo@cyberdimension.org> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20240630162519.25173-1-GNUtoo@cyberdimension.org> References: <20240630162519.25173-1-GNUtoo@cyberdimension.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2001:678:938:3ff::36; envelope-from=GNUtoo@cyberdimension.org; helo=rockpro64.cyberdimension.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: The development of GNU GRUB Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org SWYgdGhlIGdpdmVuIGVudmlyb25tZW50IHZhcmlhYmxlIGRvZXNuJ3QgZXhpc3QsIGdydWJfZW52 X2FwcGVuZCB3aWxsCmhhdmUgdGhlIHNhbWUgZWZmZWN0IHRoYW4gZ3J1Yl9lbnZfc2V0LiBCdXQg aWYgdGhlIHZhcmlhYmxlIGRvIGV4aXN0LAp1c2luZyBncnViX2Vudl9hcHBlbmQgd2lsbCBhcHBl bmQgdGhlIGdpdmVuIGNvbnRlbnQgdG8gdGhlIHZhcmlhYmxlCmNvbnRlbnQuCgpUaGlzIGNhbiBi ZSB1c2VkIHRvIGJ1aWxkIGEgY29tbWFuZCB0aGF0IGNhbiBhcHBlbmQgZGF0YSB0byBhbgpleGlz dGluZyB2YXJpYWJsZS4KClRoZSBnb2FsIGhlcmUgaXMgdG8gbW9yZSBlYXNpbHkgYWRkIC0tc2V0 PVZBUk5BTUUgYXJndW1lbnRzIHRvIGN1cnJlbnQKY29tbWFuZHMgbGlrZSBpdCBpcyBkb25lIGlu IHRoZSBwcm9iZSBjb21tYW5kIGZvciBpbnN0YW5jZS4KClRoaXMgaXMgYmVjYXVzZSBpbiB0aGUg Y29kZSBvZiBzb21lIGNvbW1hbmRzIChsaWtlIGxzKSBHUlVCIHN0YXJ0CnByaW50aW5nIGluZm9y bWF0aW9uIGRpcmVjdGx5IHRvIHRoZSBvdXRwdXQgaW5zdGVhZCBvZiBidWlsZGluZyBhIGJpZwpz dHJpbmcgYW5kIG9ubHkgcHJpbnRpbmcgdGhlIGluZm9ybWF0aW9uIHdoZW4gZG9uZSBidWlsZGlu ZyBpdC4KCkFuZCBzbyBoYXZpbmcgc29tZXRoaW5nIGxpa2UgZ3J1Yl9lbnZfYXBwZW5kIHRoYXQg aXMgY2xvc2VyIHRvIHRoaXMKYmVoYXZpb3IgaGVscHMgYWRkaW5nIC0tc2V0PVZBUk5BTUUgdG8g dmFyaW91cyBjb21tYW5kcyAobGlrZSBscykuCgpTaWduZWQtb2ZmLWJ5OiBEZW5pcyAnR05VdG9v JyBDYXJpa2xpIDxHTlV0b29AY3liZXJkaW1lbnNpb24ub3JnPgotLS0KIGdydWItY29yZS9rZXJu L2Vudi5jIHwgMzggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1 ZGUvZ3J1Yi9lbnYuaCAgIHwgIDEgKwogMiBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL2tlcm4vZW52LmMgYi9ncnViLWNvcmUva2Vybi9lbnYu YwppbmRleCA3NjQwNjg4OTYuLjI0YmE0MmJiOCAxMDA2NDQKLS0tIGEvZ3J1Yi1jb3JlL2tlcm4v ZW52LmMKKysrIGIvZ3J1Yi1jb3JlL2tlcm4vZW52LmMKQEAgLTEyOSw2ICsxMjksNDQgQEAgZ3J1 Yl9lbnZfc2V0IChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWwpCiAgIHJldHVybiBn cnViX2Vycm5vOwogfQogCitncnViX2Vycl90CitncnViX2Vudl9hcHBlbmQgKGNvbnN0IGNoYXIg Km5hbWUsIGNvbnN0IGNoYXIgKnZhbCkKK3sKKyAgc3RydWN0IGdydWJfZW52X3ZhciAqdmFyOwor CisgIC8qIElmIHRoZSB2YXJpYWJsZSBkb2VzIGFscmVhZHkgZXhpc3QsIGFwcGVuZCB2YWwgdG8g dGhlIHZhcmlhYmxlIGNvbnRlbnQuICAqLworICB2YXIgPSBncnViX2Vudl9maW5kIChuYW1lKTsK KyAgaWYgKHZhcikKKyAgICB7CisgICAgICBjaGFyICpvbGQgPSB2YXItPnZhbHVlOworICAgICAg Y2hhciAqbmV3OworCisgICAgICBuZXcgPSBncnViX3phbGxvYyAoZ3J1Yl9zdHJsZW4ob2xkKSAr IGdydWJfc3RybGVuKHZhbCkgKyAxKTsKKyAgICAgIGlmICghbmV3KQorICAgICAgICByZXR1cm4g Z3J1Yl9lcnJubzsKKworICAgICAgZ3J1Yl9zdHJjcHkgKG5ldywgb2xkKTsKKyAgICAgIGdydWJf c3RyY3B5IChuZXcgKyBncnViX3N0cmxlbihuZXcpLCB2YWwpOworCisgICAgICBpZiAodmFyLT53 cml0ZV9ob29rKQorICAgICAgICB2YXItPnZhbHVlID0gdmFyLT53cml0ZV9ob29rICh2YXIsIG5l dyk7CisgICAgICBlbHNlCisgICAgICAgIHZhci0+dmFsdWUgPSBncnViX3N0cmR1cCAobmV3KTsK KworICAgICAgaWYgKCEgdmFyLT52YWx1ZSkKKyAgICAgICAgeworICAgICAgICAgIHZhci0+dmFs dWUgPSBvbGQ7CisgICAgICAgICAgZ3J1Yl9mcmVlIChuZXcpOworICAgICAgICAgIHJldHVybiBn cnViX2Vycm5vOworICAgICAgICB9CisKKyAgICAgIGdydWJfZnJlZSAob2xkKTsKKyAgICAgIHJl dHVybiBHUlVCX0VSUl9OT05FOworICAgIH0KKworICByZXR1cm4gZ3J1Yl9lbnZfc2V0IChuYW1l LCB2YWwpOworfQorCiBjb25zdCBjaGFyICoKIGdydWJfZW52X2dldCAoY29uc3QgY2hhciAqbmFt ZSkKIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZ3J1Yi9lbnYuaCBiL2luY2x1ZGUvZ3J1Yi9lbnYu aAppbmRleCA2YjkzNzlhMzAuLmU2Mjc4NjAwNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9ncnViL2Vu di5oCisrKyBiL2luY2x1ZGUvZ3J1Yi9lbnYuaApAQCAtNDQsNiArNDQsNyBAQCBzdHJ1Y3QgZ3J1 Yl9lbnZfdmFyCiB9OwogCiBncnViX2Vycl90IEVYUE9SVF9GVU5DKGdydWJfZW52X3NldCkgKGNv bnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbCk7CitncnViX2Vycl90IEVYUE9SVF9GVU5D KGdydWJfZW52X2FwcGVuZCkgKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbCk7CiBj b25zdCBjaGFyICpFWFBPUlRfRlVOQyhncnViX2Vudl9nZXQpIChjb25zdCBjaGFyICpuYW1lKTsK IGJvb2wgRVhQT1JUX0ZVTkMoZ3J1Yl9lbnZfZ2V0X2Jvb2wpIChjb25zdCBjaGFyICpuYW1lLCBi b29sIGlmX3Vuc2V0KTsKIHZvaWQgRVhQT1JUX0ZVTkMoZ3J1Yl9lbnZfdW5zZXQpIChjb25zdCBj aGFyICpuYW1lKTsKLS0gCjIuNDUuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkdydWItZGV2ZWwgbWFpbGluZyBsaXN0CkdydWItZGV2ZWxAZ251Lm9y ZwpodHRwczovL2xpc3RzLmdudS5vcmcvbWFpbG1hbi9saXN0aW5mby9ncnViLWRldmVsCg==