diff --git a/ChangeLog.txt b/ChangeLog.txt index 74de95b2be..89a8c5a397 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -7,6 +7,34 @@ Entries may not always be in chronological/commit order. See license at the end of file. */ +2025-07-19 19:44 UTC+0200 Aleksander Czajczynski (hb fki.pl) + * contrib/hbhpdf/core.c + + HPDF_GetPageByIndex( hDoc, nIndex ) --> hPage / NIL + suggested by Luigi Ferraris + + * contrib/hbhpdf/tests/harupdf.prg + + test the above (disabled by default) + + * README.md + * updated CI badge(s) to GitHub Actions - they also cover + the strict compilation mode, definitions are currently + located in the same file as normal + + ! cleaned up links, mostly in tools section, some were + broken, for others switched to https where applicable + + * mention HB_CCPREFIX= support for clang + + * contrib/hbdoc/hbdoc.prg + * contrib/hbformat/utils/hbformat.prg + * contrib/hbnetio/utils/hbnetio/hbnetio.prg + * package/harbour.mft + * package/harbour.rc + * src/compiler/hbusage.c + * utils/hbi18n/hbi18n.prg + * utils/hbtest/hbtest.prg + * bumped copyright year to 2025 + 2025-07-10 14:04 UTC+0200 Aleksander Czajczynski (hb fki.pl) * contrib/hbpost.hbm ! fix missing contrib/*/tests/files when using "make install" diff --git a/README.md b/README.md index ea3f61a5a9..7c2d828352 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Welcome to Harbour [![Build Status](https://travis-ci.org/harbour/core.png)](https://travis-ci.org/harbour/core) +# Welcome to Harbour [![linux-ci](https://github.com/harbour/core/actions/workflows/linux-ci.yml/badge.svg)](https://github.com/harbour/core/actions/workflows/linux-ci.yml) [![windows-ci](https://github.com/harbour/core/actions/workflows/windows-ci.yml/badge.svg)](https://github.com/harbour/core/actions/workflows/windows-ci.yml) [![macos-ci](https://github.com/harbour/core/actions/workflows/macos-ci.yml/badge.svg)](https://github.com/harbour/core/actions/workflows/macos-ci.yml) [![vm1-ci](https://github.com/harbour/core/actions/workflows/vm1-ci.yml/badge.svg)](https://github.com/harbour/core/actions/workflows/vm1-ci.yml) [![vm2-ci](https://github.com/harbour/core/actions/workflows/vm2-ci.yml/badge.svg)](https://github.com/harbour/core/actions/workflows/vm2-ci.yml) Harbour is the free software implementation of a multi-platform, multi-threading, object-oriented, scriptable programming language, @@ -834,7 +834,7 @@ sensitive. - `HB_CCPREFIX=[]` - Used with gcc compiler family to specify + Used with gcc or clang compiler family to specify compiler/linker/archive tool name prefix. - `HB_CCSUFFIX=[]` @@ -1895,7 +1895,7 @@ Supported shells per host platforms: * Search for `w95ws2setup.exe` (required for Win95 support to run applications built with Harbour) * Windows UNICOWS .dll [win, free, closed-source] - * + * (via web.archive.org)[https://web.archive.org/web/20130305122340/http://download.microsoft.com/download/b/7/5/b75eace3-00e2-4aa0-9a6f-0b6882c71642/unicows.exe] (required for Win9x/ME support to run applications built with Harbour in UNICODE mode) * Windows UNICOWS runtime/import library [win, free, open-source] * @@ -1904,34 +1904,32 @@ Supported shells per host platforms: * Tools: * Git (1.7 or upper) [multiplatform, free, open-source] - * - * (Windows binaries) - * GitHub Client [multiplatform, free] - * - * + * + * GitHub Desktop Client [multiplatform, free] + * * GNU Bison (grammer paser generator) [multiplatform, free, open-source] * Windows binary: - * + * (not verified with current Harbour version) * Valgrind (dynamic executable analysis tool) [linux, darwin-x86, free, open-source] - * + * * ack (programmer grep) [multiplatform, free, open-source] - * + * * Uncrustify (source formatter) [multiplatform, free, open-source] - * + * * UPX (executable compressor) [win, dos, *nix, free, open-source] - * + * * Nullsoft Installer [win, free, open-source] - * + * * 7-Zip [multiplatform, free, open-source] - * + * * Info-ZIP [multiplatform, free, open-source] * * bzip2 [multiplatform, free, open-source] Windows binary: - * + * * Chocolatey (Windows package manager) [free, open-source] - * + * * GNU Make Windows binary + source: @@ -1977,8 +1975,8 @@ Supported shells per host platforms: * [Netiquette Guidelines](http://tools.ietf.org/html/rfc1855) * [Setting up Git](https://help.github.com/articles/set-up-git) - * [Git book](http://git-scm.com/book) [free] - * [Git crash course for Subversion users](http://git.or.cz/course/svn.html) + * [Git book](https://git-scm.com/book/en/v2) [free] + * [Git crash course for Subversion users](https://web.archive.org/web/20220520212103/http://git.or.cz/course/svn.html) * Using gettext (.po files) * * @@ -1998,7 +1996,7 @@ Supported shells per host platforms: * [ChangeLog](ChangeLog.txt?raw=true) * Comparing [Harbour to xHarbour](doc/xhb-diff.txt?raw=true) * CA-Cl*pper 5.3 [online documentation](http://x-hacker.org/ng/53guide/) - * Harbour [online documentation](http://harbour.github.io/doc/) + * Harbour [online documentation](https://harbour.github.io/doc/) * Harbour [internal documents](doc/) * [Wikipedia](https://en.wikipedia.org/wiki/Harbour_compiler) diff --git a/contrib/hbdoc/hbdoc.prg b/contrib/hbdoc/hbdoc.prg index 7d8005a726..90dcd68607 100644 --- a/contrib/hbdoc/hbdoc.prg +++ b/contrib/hbdoc/hbdoc.prg @@ -768,7 +768,7 @@ STATIC PROCEDURE ShowHelp( cExtraMessage, aArgs ) aHelp := { ; cExtraMessage, ; "Harbour Document Compiler (hbdoc) " + HBRawVersion(), ; - "Copyright (c) 1999-2024, " + hb_Version( HB_VERSION_URL_BASE ), ; + "Copyright (c) 1999-2025, " + hb_Version( HB_VERSION_URL_BASE ), ; "", ; "Syntax:", ; "", ; diff --git a/contrib/hbformat/utils/hbformat.prg b/contrib/hbformat/utils/hbformat.prg index b4e3694a45..38223529c4 100644 --- a/contrib/hbformat/utils/hbformat.prg +++ b/contrib/hbformat/utils/hbformat.prg @@ -160,7 +160,7 @@ STATIC PROCEDURE About() OutStd( ; "Harbour Source Formatter " + HBRawVersion() + hb_eol() + ; "Copyright (c) 2010-" + ; - "2024" + ", " + ; + "2025" + ", " + ; hb_Version( HB_VERSION_URL_BASE ) + hb_eol() + ; "Copyright (c) 2009, Alexander S.Kresin" + hb_eol() + ; hb_eol() ) diff --git a/contrib/hbhpdf/core.c b/contrib/hbhpdf/core.c index c9cb14be37..d935606f33 100644 --- a/contrib/hbhpdf/core.c +++ b/contrib/hbhpdf/core.c @@ -254,6 +254,14 @@ HB_FUNC( HPDF_GETCURRENTPAGE ) hb_retptr( ( void * ) HPDF_GetCurrentPage( hb_HPDF_Doc_par( 1 ) ) ); } +/* HPDF_GetPageByIndex( hDoc, nIndex ) --> hPage / NIL */ +HB_FUNC( HPDF_GETPAGEBYINDEX ) +{ + void * pPage = ( void * ) HPDF_GetPageByIndex( hb_HPDF_Doc_par( 1 ), ( HPDF_UINT ) hb_parni( 2 ) ); + if( pPage ) + hb_retptr( pPage ); +} + /* HPDF_AddPage( hDoc ) --> hPage */ HB_FUNC( HPDF_ADDPAGE ) { diff --git a/contrib/hbhpdf/hbhpdf.hbx b/contrib/hbhpdf/hbhpdf.hbx index 550f298b54..9effe0a80e 100644 --- a/contrib/hbhpdf/hbhpdf.hbx +++ b/contrib/hbhpdf/hbhpdf.hbx @@ -76,6 +76,7 @@ DYNAMIC HPDF_GetError DYNAMIC HPDF_GetErrorDetail DYNAMIC HPDF_GetFont DYNAMIC HPDF_GetInfoAttr +DYNAMIC HPDF_GetPageByIndex DYNAMIC HPDF_GetPageLayout DYNAMIC HPDF_GetPageMode DYNAMIC HPDF_GetStreamSize diff --git a/contrib/hbhpdf/tests/harupdf.prg b/contrib/hbhpdf/tests/harupdf.prg index d9151aa3aa..edb21c55ab 100644 --- a/contrib/hbhpdf/tests/harupdf.prg +++ b/contrib/hbhpdf/tests/harupdf.prg @@ -63,7 +63,6 @@ PROCEDURE Main( cFileToSave ) RETURN // - FUNCTION DesignHaruPDF( cFileToSave ) LOCAL i, page, height, width, def_font, tw, samp_text, font @@ -103,6 +102,7 @@ FUNCTION DesignHaruPDF( cFileToSave ) */ page := HPDF_AddPage( pdf ) + height := HPDF_Page_GetHeight( page ) width := HPDF_Page_GetWidth( page ) @@ -165,6 +165,11 @@ FUNCTION DesignHaruPDF( cFileToSave ) ? "0x" + hb_NumToHex( HPDF_GetError( pdf ), 4 ), hb_HPDF_GetErrorString( HPDF_GetError( pdf ) ), HPDF_GetErrorDetail( pdf ) ENDIF +#if 0 + /* you should really count the pages while creating them */ + ? "pdf page count:", lazy_pagecount( pdf ) +#endif + HPDF_Free( pdf ) RETURN hb_FileExists( cFileToSave ) @@ -1416,3 +1421,18 @@ STATIC PROCEDURE show_description_1( page, x, y, text ) HPDF_Page_EndText( page ) RETURN + +#if 0 +STATIC FUNCTION lazy_pagecount( pdf ) + + LOCAL page_count := 0 + + DO WHILE hb_isPointer( HPDF_GetPageByIndex( pdf, page_count ) ) + page_count++ + ENDDO + + /* getting page out of index bounds raises an error */ + HPDF_ResetError( pdf ) + + RETURN page_count +#endif diff --git a/contrib/hbnetio/utils/hbnetio/hbnetio.prg b/contrib/hbnetio/utils/hbnetio/hbnetio.prg index ef0403436e..6156c379fa 100644 --- a/contrib/hbnetio/utils/hbnetio/hbnetio.prg +++ b/contrib/hbnetio/utils/hbnetio/hbnetio.prg @@ -836,7 +836,7 @@ STATIC PROCEDURE HB_Logo() OutStd( ; "Harbour NETIO Server " + StrTran( Version(), "Harbour " ) + hb_eol() + ; "Copyright (c) 2009-" + ; - "2020" + ", " + ; + "2025" + ", " + ; "Przemyslaw Czerpak, Viktor Szakats" + hb_eol() + ; hb_Version( HB_VERSION_URL_BASE ) + hb_eol() + ; hb_eol() ) diff --git a/package/harbour.mft b/package/harbour.mft index 7d57775d28..c8543d40f2 100644 --- a/package/harbour.mft +++ b/package/harbour.mft @@ -1,5 +1,5 @@ - +