Messages in this thread | | | Date | Tue, 14 Jan 2003 16:21:13 -0500 | From | Mark Mielke <> | Subject | Re: Changing argv[0] under Linux. |
| |
On Tue, Jan 14, 2003 at 03:28:23PM -0500, Richard B. Johnson wrote: > On Tue, 14 Jan 2003, Mark Mielke wrote: > > On Tue, Jan 14, 2003 at 02:56:35PM -0500, Richard B. Johnson wrote: > > > Well I just grepped through usr/include/bits/posix1_lim.h and it > > > shows 255 (with this 'C' library) so you are probably right. > > > In any event, a "whole line of text" isn't going to overrun it. > > Looking at the code, it looks to me as if argv[0] can be any size up to > > _SC_ARG_MAX, with the restraining factor being that the environment > > variables and the other arguments must fit in the same space. > > Is this not correct? > Don't think so. In my headers _SC_ARG_MAX is an enumerated type > that is numerically equal to 0. It's in confname.h, the first > element in the enumerated list.
_SC_ARG_MAX is one of the identifiers that are used with sysconf() to lookup a system-wide configuration value:
$ perl -MPOSIX -e 'print sysconf(_SC_ARG_MAX), "\n"' 131072
The environment size for a program invoked using exec() can be up to 131072 bytes long (my configuration). This environment holds the command arguments as well as the environment.
On my system, _SC_ARG_MAX is telling me that it is possible to have argv[0] be just under 131072 bytes long.
mark
-- mark@mielke.cc/markm@ncf.ca/markm@nortelnetworks.com __________________________ . . _ ._ . . .__ . . ._. .__ . . . .__ | Neighbourhood Coder |\/| |_| |_| |/ |_ |\/| | |_ | |/ |_ | | | | | | \ | \ |__ . | | .|. |__ |__ | \ |__ | Ottawa, Ontario, Canada
One ring to rule them all, one ring to find them, one ring to bring them all and in the darkness bind them...
http://mark.mielke.cc/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |