bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: a bugger on the pwd code


From: Bob Proulx
Subject: Re: a bugger on the pwd code
Date: Wed, 14 Nov 2007 13:29:22 -0700
User-agent: Mutt/1.5.13 (2006-08-11)

杨光辉 wrote:
> /*pwd.c on the coreutils-6.9*/
>          static void
>          robust_getcwd (struct file_name *file_name)
>         {
>           size_t height = 1;
> 262    struct dev_ino dev_ino_buf;
> 263    struct dev_ino *root_dev_ino = get_root_dev_ino (&dev_ino_buf);
> 
>           .......
>         }
> The line 262 and 263 have something wrong. "dev_ino_buf " didn't allocate
> memory. I compilered the pwd.c and found some buggers. Maybe I'm wrong.

The dev_ino_buf variable is a local variable.  The compiler will
reserve space for it on the stack.  In C this is an "automatic"
variable.

The get_root_dev_ino() routine returns the &dev_ino_buf parameter
value as the return value of the function and it is assigned to the
root_dev_ino variable.

This is not "memory allocation" in the malloc() sense of memory
allocation.  All of the variables are local variables and the C
compiler will reserve local stack space for them.  What do you mean
when you say "didn't allocate memory" for them?

Are you having a problem with the coreutils pwd?

Bob




reply via email to

[Prev in Thread] Current Thread [Next in Thread]