From patchwork Fri May 7 11:16:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Tremer X-Patchwork-Id: 4250 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4Fc7Fc4K89z44RX for ; Fri, 7 May 2021 11:17:08 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail02.haj.ipfire.org", Issuer "R3" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4Fc7FY41xCz2cD; Fri, 7 May 2021 11:17:05 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4Fc7FY3vR3z2yjX; Fri, 7 May 2021 11:17:05 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4Fc7FW4hX0z2ySY for ; Fri, 7 May 2021 11:17:03 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4Fc7FW34kDzWZ; Fri, 7 May 2021 11:17:03 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1620386223; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=O9IbwzAySZfDNncv40efKbi97hQjo3m+yYt3fYtbm1w=; b=GAAEGjOF3TEq3fVFB9wgtJhuqx2SdSnq2LICBH/WI2TMyG15bfpen4hXQRD+WZEVl7KMOI R3DdfojzU7r7o9AQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1620386223; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=O9IbwzAySZfDNncv40efKbi97hQjo3m+yYt3fYtbm1w=; b=AD1yyh030ACHsN7TFWC0j/QSHDV4CBdabkZOA3IatL1NjtASaWe8tdngi1hnGa0q6NSiks NRdyLSV3QXCHEqQWdGRo58a38m6Tn718VO/GK3xW+Dcq1yxTBp8xPSRluQtpHoNXoldHYl GO/wFO/OOVWgDP5LYrgPcHuyvEidmLLcMjgorGJOg17kYrh7a8D5NZUy4XQBksWtGqYhPD I3vsyvzte3Oh6YRKS7kJoTUjt/wFsFHG2FeE9zUf5hKyUtZ1b3hYI2xOERY6vharN3g5ki c+5fS5FaUbVwDQZGzDqKPadevf8AcsZlo4lFeWelL+dXjX20X0wYutPFAuAk2g== From: Michael Tremer To: development@lists.ipfire.org Subject: [PATCH 02/10] _fireinfo: Migrate to Python 3 Date: Fri, 7 May 2021 11:16:46 +0000 Message-Id: <20210507111654.2397-3-michael.tremer@ipfire.org> In-Reply-To: <20210507111654.2397-1-michael.tremer@ipfire.org> References: <74B08C60-EBDB-4C2E-83E0-A5EB5A0C3C5E@ipfire.org> <20210507111654.2397-1-michael.tremer@ipfire.org> MIME-Version: 1.0 X-BeenThere: development@lists.ipfire.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: IPFire development talk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Michael Tremer Errors-To: development-bounces@lists.ipfire.org Sender: "Development" Signed-off-by: Michael Tremer --- src/_fireinfo/fireinfo.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/_fireinfo/fireinfo.c b/src/_fireinfo/fireinfo.c index 6601c21..58ee7e2 100644 --- a/src/_fireinfo/fireinfo.c +++ b/src/_fireinfo/fireinfo.c @@ -185,7 +185,7 @@ do_detect_hypervisor() { if (!hypervisor_vendor) Py_RETURN_NONE; - return PyString_FromString(hypervisor_vendor); + return PyUnicode_FromString(hypervisor_vendor); } Py_RETURN_NONE; @@ -215,22 +215,30 @@ do_get_harddisk_serial(PyObject *o, PyObject *args) { strncpy(serial, (const char *)hd.serial_no, sizeof(serial) - 1); if (serial[0]) - return PyString_FromString(serial); + return PyUnicode_FromString(serial); } Py_RETURN_NONE; } -static PyMethodDef fireinfoModuleMethods[] = { +static PyMethodDef fireinfo_methods[] = { { "detect_hypervisor", (PyCFunction) do_detect_hypervisor, METH_NOARGS, NULL }, { "get_harddisk_serial", (PyCFunction) do_get_harddisk_serial, METH_VARARGS, NULL }, { NULL, NULL, 0, NULL } }; -void init_fireinfo(void) { - PyObject *m; +static struct PyModuleDef fireinfo_module = { + .m_base = PyModuleDef_HEAD_INIT, + .m_name = "_fireinfo", + .m_size = -1, + .m_doc = "Python module for fireinfo", + .m_methods = fireinfo_methods, +}; + +PyMODINIT_FUNC PyInit__fireinfo(void) { + PyObject* m = PyModule_Create(&fireinfo_module); + if (!m) + return NULL; - m = Py_InitModule("_fireinfo", fireinfoModuleMethods); - if (m == NULL) - return; + return m; }