From 9ee0a5fd17aa7462b7aa2ec06bde7032f3de0fe3 Mon Sep 17 00:00:00 2001 From: Lailton Date: Sun, 14 Dec 2025 00:03:27 -0300 Subject: [PATCH] HB_HRBLOAD: support optional filename 2025-12-14 00:00 UTC-0300 Lailton Fernando Mariano (lailton/at/paysoft.com.br) * src/vm/runner.c * HB_HRBLOAD: support optional filename for in-memory HRB load hb_hrbLoad( cPCode, cFileName ) --- ChangeLog.txt | 5 +++++ src/vm/runner.c | 10 +++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index 56c9e75fe4..7c5e7cb317 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -7,6 +7,11 @@ Entries may not always be in chronological/commit order. See license at the end of file. */ +2025-12-14 00:00 UTC-0300 Lailton Fernando Mariano (lailton/at/paysoft.com.br) + * src/vm/runner.c + * HB_HRBLOAD: support optional filename for in-memory HRB load + hb_hrbLoad( cPCode, cFileName ) + 2025-12-14 03:10 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * contrib/hbzebra/datamtrx.c * extended GCC excessive diagnostics workaround also for GCC-15 to fix diff --git a/src/vm/runner.c b/src/vm/runner.c index c9905f6ea3..fcc06f7f15 100644 --- a/src/vm/runner.c +++ b/src/vm/runner.c @@ -743,7 +743,15 @@ HB_FUNC( HB_HRBLOAD ) PHRB_BODY pHrbBody; if( hb_hrbCheckSig( fileOrBody, nLen ) != 0 ) - pHrbBody = hb_hrbLoad( fileOrBody, nLen, usMode, NULL ); + { + const char * szFileName = NULL; + if( hb_pcount() > nParam && HB_ISCHAR( nParam + 1 ) ) + { + szFileName = hb_parc( nParam + 1 ); + nParam++; + } + pHrbBody = hb_hrbLoad( fileOrBody, nLen, usMode, szFileName ); + } else pHrbBody = hb_hrbLoadFromFile( fileOrBody, usMode );