progname: Clarify specification.
authorBruno Haible <bruno@clisp.org>
Sat, 5 Dec 2009 11:14:04 +0000 (12:14 +0100)
committerBruno Haible <bruno@clisp.org>
Sat, 5 Dec 2009 11:14:04 +0000 (12:14 +0100)
ChangeLog
lib/progname.c
lib/progname.h

index ddf5204..3c01809 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-12-05  Bruno Haible  <bruno@clisp.org>
+
+       * lib/progname.h (set_program_name): Clarify specification.
+       * lib/progname.c (set_program_name): Likewise.
+       Reported by Jim Meyering.
+
 2009-12-05  Jim Meyering  <meyering@redhat.com>
 
        maint.mk: backslash-escape parens in default regexp
index bfa374a..c8660c9 100644 (file)
@@ -1,6 +1,6 @@
 /* Program name management.
    Copyright (C) 2001-2003, 2005-2009 Free Software Foundation, Inc.
-   Written by Bruno Haible <haible@clisp.cons.org>, 2001.
+   Written by Bruno Haible <bruno@clisp.org>, 2001.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -30,7 +30,9 @@
    To be initialized by main().  */
 const char *program_name = NULL;
 
-/* Set program_name, based on argv[0].  */
+/* Set program_name, based on argv[0].
+   argv0 must be a string allocated with indefinite extent, and must not be
+   modified after this call.  */
 void
 set_program_name (const char *argv0)
 {
index 82615c6..b223970 100644 (file)
@@ -1,6 +1,6 @@
 /* Program name management.
-   Copyright (C) 2001-2004, 2006 Free Software Foundation, Inc.
-   Written by Bruno Haible <haible@clisp.cons.org>, 2001.
+   Copyright (C) 2001-2004, 2006, 2009 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2001.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -31,7 +31,9 @@ extern "C" {
 /* String containing name the program is called with.  */
 extern const char *program_name;
 
-/* Set program_name, based on argv[0].  */
+/* Set program_name, based on argv[0].
+   argv0 must be a string allocated with indefinite extent, and must not be
+   modified after this call.  */
 extern void set_program_name (const char *argv0);
 
 #if ENABLE_RELOCATABLE