On 2024-09-16 Mo 1:27 PM, Bruce Momjian wrote:
scripts:  add Perl script to add links to release notes

Reported-by: jian he

Discussion:https://postgr.es/m/zuyss5xda7hvc...@momjian.us


I realize I'm late to the party on this, but here's a review patch for this script. It's mostly stylistic changes (simpler use of print, use of POSIX xdigit class for hex digits), but it does correct one actual error: AFAIK "die" doesn't do printf style substitutions.


cheers


andrew

--
Andrew Dunstan
EDB:https://www.enterprisedb.com
diff --git a/src/tools/add_commit_links.pl b/src/tools/add_commit_links.pl
index ebfc97ea32..64a5783297 100755
--- a/src/tools/add_commit_links.pl
+++ b/src/tools/add_commit_links.pl
@@ -51,9 +51,8 @@ sub process_file
 	$file =~ m/-(\d+)\./;
 	my $major_version = $1;
 
-	open(my $fh, '<', $file) || die "could not open file %s: $!\n", $file;
-	open(my $tfh, '>', $tmpfile) || die "could not open file %s: $!\n",
-	  $tmpfile;
+	open(my $fh, '<', $file) || die "could not open file $file: $!\n";
+	open(my $tfh, '>', $tmpfile) || die "could not open file $tmpfile: $!\n";
 
 	while (<$fh>)
 	{
@@ -64,9 +63,9 @@ sub process_file
 		# skip over commit links because we will add them below
 		next
 		  if (!$in_comment &&
-			m{^\s*<ulink url="&commit_baseurl;[\da-f]+">&sect;</ulink>\s*$});
+			m{^\s*<ulink url="&commit_baseurl;[[:xdigit:]]+">&sect;</ulink>\s*$});
 
-		if ($in_comment && m/\[([\da-f]+)\]/)
+		if ($in_comment && m/\[([[:xdigit:]]+)\]/)
 		{
 			my $hash = $1;
 
@@ -88,23 +87,21 @@ sub process_file
 				{
 					for my $hash (@hashes)
 					{
-						print({$tfh}
-							  "$prev_leading_space<ulink url=\"&commit_baseurl;$hash\">&sect;</ulink>\n"
-						);
+						print $tfh
+						  "$prev_leading_space<ulink url=\"&commit_baseurl;$hash\">&sect;</ulink>\n";
 					}
 					@hashes = ();
 				}
 				else
 				{
-					printf(
-						"hashes found but no matching text found for placement on line %s\n",
-						$lineno);
+					print
+					  "hashes found but no matching text found for placement on line $lineno\n";
 					exit(1);
 				}
 			}
 		}
 
-		print({$tfh} $_);
+		print $tfh $_;
 
 		$prev_line_ended_with_paren = m/\)\s*$/;
 

Reply via email to