From patchwork Tue Dec 2 07:34:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Indu Bhagat X-Patchwork-Id: 125731 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E126F48F8E2E for ; Tue, 2 Dec 2025 07:36:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E126F48F8E2E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1764661002; bh=bmz8HiuRaymObCYGr3UfCOuL1pBr2BaEjInh8hYq8p4=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=RGl2JtMBuCRZjxZaibZNx1lI6btwgyH34VGSB6My5JBOTyUhdxk7z02ZEiRxT3p1k /S1OtAovigsDbsYXYkALwMEl3oEXkcfhVFdog3hu89uAnazrmNhKb77rUE9f6hVPi+ rjFq5ypBXDOQQp9xXopEOjtmF+n2YzAWzH/j8egM= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id B46B64BB3BD5 for ; Tue, 2 Dec 2025 07:34:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B46B64BB3BD5 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B46B64BB3BD5 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1764660893; cv=pass; b=Jy05H+Ny3zpdV7UqXEYX7EtaSRIVvcxJ834+akefvmq7koZzHPuw2xj3qqy9tXJywECSJHTlbagKm1Of0eAcezbefwATG7nJSQt6Y87Ql5qFxCLOicRmjS3DB3sgqMCBJU5TB43nUSYrHwKjplyzWymzIdvUuGcKQAiaFz6dShY= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1764660893; c=relaxed/simple; bh=Y1E2VWBBovuEHn2LlVLA4nZsPoNmwOwGiBKIY0uelzg=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=GjQLUtUuUaMWsucQKd5Ks9nd5LBzCp+gbq34D8CNCyW+m3aCcNK06to3DqJ2FyIhsEvsOCF1B7UGPTyoFNUhXHvjQGWy7FVZWCx80j4/+yF77cK10SWHio9tC0RkcWXDPv+u58ZehU9C+q345or7M4I7P9s+nJ8FuyTWw8jdw6o= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B46B64BB3BD5 Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5B21NFQb3259007 for ; Tue, 2 Dec 2025 07:34:53 GMT Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4as86ya6wd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 02 Dec 2025 07:34:53 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 5B25kOOs035444 for ; Tue, 2 Dec 2025 07:34:52 GMT Received: from sa9pr02cu001.outbound.protection.outlook.com (mail-southcentralusazon11013022.outbound.protection.outlook.com [40.93.196.22]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 4aqq9k1qxq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 02 Dec 2025 07:34:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JO4/dPKB/K0jPunmRLoQzXcf7dDLoo/NLOE6E+Ex3+db8yKn+J6EevZlO+hsZgVXfi2Vw4i+xg7X6ay29daMp92WeHflUcO42h/bfYw5lF8/cguE7EzeuwOUbO6JXaZIeZnKbL1N96gYq2X7QTETi40fZfYkAST7ozGfjbr0T5WxuYY9Ho0hjiVRWl1lZZk54Eqo/Mr2hBWfRMhGjz01aXc2s7eQHzFW1UXkLmfjw4EYFBYELlAsuMOaX80hE8iwXpamx2Cf70g869ibmiHi9Dgdf45wwY7rws3wmIZtTFiLdlWjx/4fyrB+g2bH0P0SwOez9xdSUyA5h+R6rstKRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bmz8HiuRaymObCYGr3UfCOuL1pBr2BaEjInh8hYq8p4=; b=jzMXxrT2GFbEppgx60f346L05i0TGBq0G4tYcbUd0eXnIY9VymtdvMmiOt3IsHMEaOCST7ShurP/TC+Bd15v0BF0htmI6oBlrpTULw+TC4mPQZh/PVK2ebfMmfGz87kKjBtgDBOX355QB4EB32o0yAMLn6i7eC9VQSK/JOGE5dTEG65bUfLYIdQh3KT3vlT1ZBZQr7y0CepgVbbZXzRn/kJrfdHkddV8Ph0OH7tQVZUOvlVflzazPbHdPHrL/cZhxEvzLy9NHyyApusac106+BWUjGuRM1bPAC3xubjCcFe2y/ij72TbiRwsO43S9/j8gAFbXDk+hEORWWBFP//76w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from SA1PR10MB6365.namprd10.prod.outlook.com (2603:10b6:806:255::12) by PH8PR10MB6456.namprd10.prod.outlook.com (2603:10b6:510:22c::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.17; Tue, 2 Dec 2025 07:34:49 +0000 Received: from SA1PR10MB6365.namprd10.prod.outlook.com ([fe80::81bb:1fc4:37c7:a515]) by SA1PR10MB6365.namprd10.prod.outlook.com ([fe80::81bb:1fc4:37c7:a515%5]) with mapi id 15.20.9366.012; Tue, 2 Dec 2025 07:34:49 +0000 To: binutils@sourceware.org Cc: Indu Bhagat Subject: [PATCH 11/13] libsframe: refactor sframe_decoder_add_funcdesc for internal use Date: Mon, 1 Dec 2025 23:34:12 -0800 Message-ID: <20251202073414.200246-12-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251202073414.200246-1-indu.bhagat@oracle.com> References: <20251202073414.200246-1-indu.bhagat@oracle.com> X-ClientProxiedBy: MW4PR03CA0065.namprd03.prod.outlook.com (2603:10b6:303:b6::10) To SA1PR10MB6365.namprd10.prod.outlook.com (2603:10b6:806:255::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA1PR10MB6365:EE_|PH8PR10MB6456:EE_ X-MS-Office365-Filtering-Correlation-Id: dc66aae0-1093-4d63-dd20-08de31754673 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|376014|1800799024|10070799003; X-Microsoft-Antispam-Message-Info: waOAnzVhdW4LrCYEIKWzl6B+TA022XlFwbZ/zPSzK8Mjr2sspgiATLvpMmKHDyef4YWLZEk0tooGqnwF/OmMR9UNXgihHxVW9jeEyz4HNz5DqOglO7tUgDTdoCQuAPMfeDa7e5frVdZJzJFPVoUVunZLSdu6/PQRRkgsmgCNTLLphZVnsa5WnW1UPJuHAeEK2DUqsXlCGxCfL7xKftAVBZ0IjHxRSg3J65+pFszsijdTVsnrBscjXb0dQ/Z0IDq3YhjKzV9aZlcUqYyKRI+D8301s0fTm5PW7wNPGigoHGtb96zcEkExi9qvUU5TaXqvlRdrvdcESP6v6mC1Enkj/Tp16h7jYqXU5P40oFtX4eD+Noi0eTbW760EykGIYNJUg+430L8NaDjg2RWQrQB1laFExt1FqQCzr6cvW/BwH4XaVKUvlcFKc/6k0jLsKEsKLPzanLM+IVi1qMuucXxdFKHFWLEggzyhydlbUBjrx6/haZVgEuxl8KnOlxBlX4of6gtO5EW3k+EtSOCvqpKAyCbqo0prK7NgrojyVFqhgCHnCfIlQGp0FUwkktas3TgTorI44HfqI1BppiL4AAiRdIkEgvH21jQuOChNBxpRk3/E54cifPtbd/uKWt9VtN5fio8BaPOqrEHpRZB7DKpGfeGnurDZqUiHYgNHonWzWHlbVwpPA59w1/3yR/VksoiO8C308SJLZAQFE2+P/23BpLjr/jHU44S2Kw+oVN6NSfU5AWai4ttP9VW8Ru4tQb84s2E/9UbgRIPZ+hcN56myWr9czs3ZH7JfddiJtTMCjA0nqMQ7Wf2lVj2oONb7RPwbnPPBh4A1TrgN+vGsAejXyFLlnYXENTHHkGptaxa23dfuRG7D0/TFUpROhTqkjdv9B3/ZSk9KrFMhBixYPQ871sJ0NfdIrMc8+jAXrnpaEsqmcFiZfPdmj1d+FyNzK6V8KgPdSXbr3ChPesLuDH7d+/R3U0ME0q4UKu1Yhg1bvsJWxmKcVbD0BpFSMJilrV0p9zEC1P2JT+5BtRYi9HJZbbqzttMYkViJpTSUX+pltsuPGjkrgZLqicqhvsh64bLpLwngKXxon4BhAGQdSoS2c2z4R/6F8Rwg7AlJea4b/DLIbxxwfPJJke8fS56SD/dArvTC5V1iaIgF/ibyR8WdXjFZx+Ch4CqxDStxfTeEv83Qu0B07VIWpXYeoU0ofonBhuoo05zxNuFHwaospvivFs0U+LYACjh3eT3x/dVfiVCvvtnzrIQKb0BZHXgt8lDZwmmEmtaV888Cd96J6zzERb+0R7H+IRPqhDeK2Ee4pbCdZx6LkQo5wNCMZTcbOG4ZAmVmUw9TH3AGxLCuU6DWObJWuQnbS/CuC4xQKNVmDQmE+pgB5U7zhF04qEWSgAGFy0OxfmG5LN9SSjcTPaORFbmmgH8Bl4H1CKS5vNl/8lYxo1FzvsMQjR8KVn29EKEA X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA1PR10MB6365.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024)(10070799003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: m2zaetHBGKuUmUsxx3eLDiSk8lJjfi2YoN3wUxVurvtJefrXNSSsb69H2m1umiMxcllhKKuMH5Q13B5DtBNmmqfVGBL2DF34DCNyELzssyyCsj+3+0mVDLA81grGrzELds+kU1f615vSp2KdjzoUkahzWi7RrUpTflTCzVML24hFVOGYN6HI92m850UDBZpI79NwKMmXQdYFkA4MiHt4n7c3tutYJpEk6LjjM8iJJU5FNomdj0suLutWrDd6sFi1i0nPD7TlrPhiaHSKjPgoCPU7SlRP2Xb8fh/J5pnrNizY+VA+7hCUGlbJ1QtuE8TOHzsyTovzk6DSPsMWcVNbnrKpdFlCjmmodwVm2EwxKzRGujeUmyq6fepCPIfwsF7MWHj9rImclHgleiIFQHuomeWPOmeRLZNtiXZwSu1hAANKmO1sgVCroCCa16y2QMsSHcDt/pcIhxQ0sso5bQcxgWsIaT2/jXf9Q+aqyRtC9SH1He/O8jS64x+cNHtsM/jnHWZYrEW6yQkapaWOvoR7cvKe5euO0YsjyHgsjfXikl/J70yqxUAHTrxLhhBJUaHuS2pAQfrzsG3HJWbaci4ch5ZXvgoMgkuX4LxUP63H9kKLuFYYFyolAgIiCRxoDSZtjhWOkkna6THf8pd9OPbfXgWLwmYfG0wL+HjUVb+dul+Wjk7ZR3wI+K1a0CVeyhsORtvLG7Od4wXV+QMbggZIzPOhU96hGjyAFmTNXdPaOmoTOUKbxHITKcMfcrTGbNEMhV/O8I50FZ7GzN8SImNaZbryLmgnfd/Pjez1R1nYJ6v8nG+oAKlN0qcJiUuS/aZMBE8D2DNJCu58gfnbcgI5IX/5Rj8CtsKiqEigX6m9t0cvRGAxtKihKTLP8brHQRM2aSeyk+PYF6Asp1cC38NnHrXx2lAE+rfzp9sDfMplqQPIOIslW7NYv4ZPHD71Vwu830iGz6+4vebm1exWa4uQf3eNDMuHkJXcVV4aklsEoBLOqH4D+6F2M8h+1IpQRDLekISbNIfw9tZvwhEBr8olKx2bw6DI5Fc0Diis6VtNI5c0l6YQ5x464nbQhjwQRwJabY7gYRErA42wibTl/tvW+eTQNppcyCLsaweN9C9WPx1aI1PLmYcZKLeAtNM7/KcOcZhWLvlV0R/+otInOY06HoVAryjAMrRzjoufmhNaQtaY2HRasGLccvExXuuRu2JaCSTV2/kwYAlqT4SU0/RgkzVkexyLEvL0IPBFuy2PXmzTHP6ZcuEuOeTQqKDCOpt0SnJloi9sCZkfXmjZq5dRMAXxtJrjyaX1Kkh8YS437ETqy7gNZpFakClld5yNQvrQeohjbHwlvnVffTwfazeWUFvn2X3UrKwvaVb9msGIhd0TS2/I8fgNRYy5vFvibeLYHDChqO2MifG242tk5yxEuIMs8hT4S0mHZsgM7dhDDigus9p9BRIiQO+rFwMgn1TMj6VmPx43AyLcrVJPwDm6h14ljFTf9T2XnF5cCcDuKJsDwG2mACS5+7UjYnxf08xzH3rPZtwEjUOnb4FIYTMWvSWW6bC8TORWCtZam1igrTAu9shWw/vT0wH33KHnuwHCuZiFYQlhPcBkvkSmSwOz8XzGHP5H+Hs127Pjj2sKwZQ= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: pDjGcAS78WAZajJYbJHZMSBDT52hTIkT+XsrRhP6TPjgUmBoA7nLW6/QgaaSwnINcESbsI07Qvd9nTpVf8AAZ1LUZdPkCjYl8KW3FKVnKkVI3O74OJzhBwSa+QnvPTGMMYS01F6mviDDRitwrj/09D0CwESMSQrZpW1edh6rOvyC4jZHGt3hI2vDnxCd775dRX/LNVcBHpTNrFRTiuC3HRMIK1PwDueHkt/IRn1E9q+M9F+9HL/XBG6y/XziQ84F4KrkenMaqmONi7bb2sRKNLG2Ge/2hfXxQSeYgw94tSHbC+i1oGaQ7s6G5u+uToJEJ0KipEkEncH44xDXbSkucAn91/vMP/WJ0k9G3D/7wIEyhJOl9Ev3R/Y6IraiifNg/7Vfwqm1rsyMN7bSJk73Qyg4htzCZRNZ5PVVWLGytPNxfKQJYGfmvT2YhTMFcpe5LchdaNZYXu/HXRz5jEERVLgRY+nGpRt0APvWk0h2KsnKjGyrsvd9KuPX0hTaOaWHvAg3u4XJDVrF+zyxYqxL2bUFou+qVdjDPbZW8Jv211GoExFRt+noDAIUG75330VB/K10dTy2A8wC3QGvIDPg8AcidNms45hv/aecvTc9P3o= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: dc66aae0-1093-4d63-dd20-08de31754673 X-MS-Exchange-CrossTenant-AuthSource: SA1PR10MB6365.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2025 07:34:49.7801 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ZdP3dGD9qZr8OgGXdWQnwh9LDcFzhr4zLkG+N85lqa/Wcd590JNqsKTFql/UIaf3Mq/DZ1N/9pbd5YtflPZsAg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR10MB6456 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-28_08,2025-11-27_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 mlxscore=0 adultscore=0 bulkscore=0 phishscore=0 suspectscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2510240000 definitions=main-2512020059 X-Proofpoint-GUID: E19e8yQxw4L0YwopqEPFfSDh8vtbcf93 X-Authority-Analysis: v=2.4 cv=AaW83nXG c=1 sm=1 tr=0 ts=692e969d b=1 cx=c_pps a=e1sVV491RgrpLwSTMOnk8w==:117 a=e1sVV491RgrpLwSTMOnk8w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=wP3pNCr1ah4A:10 a=GoEa3M9JfhUA:10 a=VkNPw1HP01LnGYTKEx00:22 a=juXWFQRf0j7Slz1IjD4A:9 cc=ntf awl=host:13642 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjAyMDA1OSBTYWx0ZWRfX/8ATKhXfhoCT 9T5ZIdefbHUHBVc9/HJBd9TNoJjHHoGXltEMbOTHv9kSTi4M4hYeNC9uAcYzOJdWuVGuLxH2Jua JnhE+hLt4LuOtkgpNoAOrdWJ0PhkO8D8tW9AbjBM3ITY7Rmb/dYSmj2aKkdL2xq02jD7ABapY7T chpKFjBxor8Dk6TsykiZhq+BdKlmUA7/EaBQTOAHZqLgDwMlpkeIv4EklJ9QllziZcR5LpUdXHg lXFsguXCTMP4/hcKZCf7QNY1k6tCQjT1IEBKqNFvoq+/Iy+GCdv0Ch1nZ2h1pGkfrDPml/6LiED mNsKv5oUxFWdRVZ4TV5B7hp+bPtu9xQGqiD6hzxepIbtIZNB7P2lrj+xxjGFN8uS9cePV8F2x04 WRAZ8MzlQwGNycq6hAIkmNZZG8tXc55p6JrGVgHyvBafCk/GSlU= X-Proofpoint-ORIG-GUID: E19e8yQxw4L0YwopqEPFfSDh8vtbcf93 X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Indu Bhagat via Binutils From: Indu Bhagat Reply-To: Indu Bhagat Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org sframe_decoder_add_funcdesc () was added for SFRAME_VERSION_1. This has since been obsoleted by introduction of SFRAME_VERSION_2 and its corresponding sframe_decoder_add_funcdesc_v2 API. sframe_decoder_add_funcdesc () will soon be removed. Refactor the functionality to keep it in an internal-only API: sframe_encoder_add_funcdesc_internal (). Ensure it returns the error code for the caller to take necessary action or pass to user. This change is preparatory in nature. Refactoring this out now helps ensure any SFrame V3 related changes are applied to the sframe_encoder_add_funcdesc_internal () API. libsframe/ * sframe.c (sframe_encoder_add_funcdesc): Rename to sframe_encoder_add_funcdesc_internal. (sframe_encoder_add_funcdesc_v2): Use the new internal API. --- libsframe/sframe.c | 44 +++++++++++++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/libsframe/sframe.c b/libsframe/sframe.c index 16fc3a3f11b..7a187507c46 100644 --- a/libsframe/sframe.c +++ b/libsframe/sframe.c @@ -1783,24 +1783,21 @@ bad: } /* Add a new SFrame function descriptor entry with START_ADDR, FUNC_SIZE and - FUNC_INFO to the encoder context ECTX. */ + FUNC_INFO to the encoder context ECTX. Caller must make sure that ECTX + exists. */ -int -sframe_encoder_add_funcdesc (sframe_encoder_ctx *ectx, - int32_t start_addr, - uint32_t func_size, - unsigned char func_info, - uint32_t num_fres ATTRIBUTE_UNUSED) +static int +sframe_encoder_add_funcdesc_internal (sframe_encoder_ctx *ectx, + int32_t start_addr, + uint32_t func_size, + unsigned char func_info, + uint32_t num_fres ATTRIBUTE_UNUSED) { sframe_header *ehp; sf_fde_tbl *fd_info; size_t fd_tbl_sz; int err = 0; - /* FIXME book-keep num_fres for error checking. */ - if (ectx == NULL) - return sframe_set_errno (&err, SFRAME_ERR_INVAL); - fd_info = ectx->sfe_funcdesc; ehp = sframe_encoder_get_header (ectx); @@ -1857,7 +1854,24 @@ bad: free (fd_info); ectx->sfe_funcdesc = NULL; ehp->sfh_num_fdes = 0; - return -1; + return err; +} + +/* Add a new SFrame function descriptor entry with START_ADDR, FUNC_SIZE and + FUNC_INFO to the encoder context ECTX. */ + +int +sframe_encoder_add_funcdesc (sframe_encoder_ctx *ectx, + int32_t start_addr, + uint32_t func_size, + unsigned char func_info, + uint32_t num_fres) +{ + if (ectx == NULL) + return SFRAME_ERR_INVAL; + + return sframe_encoder_add_funcdesc_internal (ectx, start_addr, func_size, + func_info, num_fres); } /* Add a new SFrame function descriptor entry with START_ADDR, FUNC_SIZE, @@ -1878,10 +1892,10 @@ sframe_encoder_add_funcdesc_v2 (sframe_encoder_ctx *ectx, if (ectx == NULL || sframe_encoder_get_version (ectx) == SFRAME_VERSION_1) return sframe_set_errno (&err, SFRAME_ERR_INVAL); - err = sframe_encoder_add_funcdesc (ectx, start_addr, func_size, func_info, - num_fres); + err = sframe_encoder_add_funcdesc_internal (ectx, start_addr, func_size, + func_info, num_fres); if (err) - return SFRAME_ERR; + return err; fd_info = ectx->sfe_funcdesc; fd_info->entry[fd_info->count-1].func_rep_size = rep_block_size;