constify arguments of copy_file() and copydir()

Started by Nathan Bossartalmost 3 years ago8 messages
#1Nathan Bossart
nathandbossart@gmail.com
1 attachment(s)

I've attached a patch for $SUBJECT, which allows us to remove a use of the
unconstify macro in basic_archive. This is just a pet peeve, but maybe it
bothers others, too.

--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com

Attachments:

constify_arguments.patchtext/x-diff; charset=us-asciiDownload
diff --git a/contrib/basic_archive/basic_archive.c b/contrib/basic_archive/basic_archive.c
index 28cbb6cce0..3d29711a31 100644
--- a/contrib/basic_archive/basic_archive.c
+++ b/contrib/basic_archive/basic_archive.c
@@ -275,7 +275,7 @@ basic_archive_file_internal(const char *file, const char *path)
 	 * Copy the file to its temporary destination.  Note that this will fail
 	 * if temp already exists.
 	 */
-	copy_file(unconstify(char *, path), temp);
+	copy_file(path, temp);
 
 	/*
 	 * Sync the temporary file to disk and move it to its final destination.
diff --git a/src/backend/storage/file/copydir.c b/src/backend/storage/file/copydir.c
index 7782e26677..e04bc3941a 100644
--- a/src/backend/storage/file/copydir.c
+++ b/src/backend/storage/file/copydir.c
@@ -34,7 +34,7 @@
  * a directory or a regular file is ignored.
  */
 void
-copydir(char *fromdir, char *todir, bool recurse)
+copydir(const char *fromdir, const char *todir, bool recurse)
 {
 	DIR		   *xldir;
 	struct dirent *xlde;
@@ -114,7 +114,7 @@ copydir(char *fromdir, char *todir, bool recurse)
  * copy one file
  */
 void
-copy_file(char *fromfile, char *tofile)
+copy_file(const char *fromfile, const char *tofile)
 {
 	char	   *buffer;
 	int			srcfd;
diff --git a/src/include/storage/copydir.h b/src/include/storage/copydir.h
index 713b732da2..a8be5b21e0 100644
--- a/src/include/storage/copydir.h
+++ b/src/include/storage/copydir.h
@@ -13,7 +13,7 @@
 #ifndef COPYDIR_H
 #define COPYDIR_H
 
-extern void copydir(char *fromdir, char *todir, bool recurse);
-extern void copy_file(char *fromfile, char *tofile);
+extern void copydir(const char *fromdir, const char *todir, bool recurse);
+extern void copy_file(const char *fromfile, const char *tofile);
 
 #endif							/* COPYDIR_H */
#2Andrew Dunstan
andrew@dunslane.net
In reply to: Nathan Bossart (#1)
Re: constify arguments of copy_file() and copydir()

On 2023-01-14 Sa 18:11, Nathan Bossart wrote:

I've attached a patch for $SUBJECT, which allows us to remove a use of the
unconstify macro in basic_archive. This is just a pet peeve, but maybe it
bothers others, too.

I don't like using unconstify where it can be avoided, so this looks
reasonable to me.

cheers

andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com

#3Nathan Bossart
nathandbossart@gmail.com
In reply to: Andrew Dunstan (#2)
Re: constify arguments of copy_file() and copydir()

On Sun, Jan 15, 2023 at 08:23:13AM -0500, Andrew Dunstan wrote:

On 2023-01-14 Sa 18:11, Nathan Bossart wrote:

I've attached a patch for $SUBJECT, which allows us to remove a use of the
unconstify macro in basic_archive. This is just a pet peeve, but maybe it
bothers others, too.

I don't like using unconstify where it can be avoided, so this looks
reasonable to me.

Thanks. Added to the next commitfest:

https://commitfest.postgresql.org/42/4126/

--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com

#4Michael Paquier
michael@paquier.xyz
In reply to: Nathan Bossart (#3)
Re: constify arguments of copy_file() and copydir()

On Sun, Jan 15, 2023 at 08:13:28AM -0800, Nathan Bossart wrote:

On Sun, Jan 15, 2023 at 08:23:13AM -0500, Andrew Dunstan wrote:

On 2023-01-14 Sa 18:11, Nathan Bossart wrote:

I've attached a patch for $SUBJECT, which allows us to remove a use of the
unconstify macro in basic_archive. This is just a pet peeve, but maybe it
bothers others, too.

I don't like using unconstify where it can be avoided, so this looks
reasonable to me.

+1.
--
Michael
#5Michael Paquier
michael@paquier.xyz
In reply to: Michael Paquier (#4)
Re: constify arguments of copy_file() and copydir()

On Mon, Jan 16, 2023 at 10:53:40AM +0900, Michael Paquier wrote:

+1.

While I don't forget about this thread.. Any objections if I were to
apply that?
--
Michael

#6Peter Eisentraut
peter.eisentraut@enterprisedb.com
In reply to: Michael Paquier (#5)
Re: constify arguments of copy_file() and copydir()

On 17.01.23 07:24, Michael Paquier wrote:

On Mon, Jan 16, 2023 at 10:53:40AM +0900, Michael Paquier wrote:

+1.

While I don't forget about this thread.. Any objections if I were to
apply that?

Looks good to me.

#7Michael Paquier
michael@paquier.xyz
In reply to: Peter Eisentraut (#6)
Re: constify arguments of copy_file() and copydir()

On Tue, Jan 17, 2023 at 08:23:49PM +0100, Peter Eisentraut wrote:

Looks good to me.

Thanks, done.
--
Michael

#8Nathan Bossart
nathandbossart@gmail.com
In reply to: Michael Paquier (#7)
Re: constify arguments of copy_file() and copydir()

On Wed, Jan 18, 2023 at 09:05:52AM +0900, Michael Paquier wrote:

Thanks, done.

Thanks!

--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com