This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: second test release


On Tue, Aug 01, 2000 at 09:17:27AM -0700, Ulrich Drepper wrote:
> "H . J . Lu" <hjl@lucon.org> writes:
> 
> > Please take a look at my strace output. The search in the build
> > diretory succeeded. But it still searched /usr/lib/gconv. You can
> > put in a strace to see it for yourself.
> 
> Strace output doesn't help.  The problem is in the code which reads
> the gconv-modules file and then tries to find a specific module.  This
> seems to fail and therefore the search goes on in the next directory.

That is incorrect:

1. I compare 2 files. They are the same.
2. The code in question is

  for (cnt = 0; __gconv_path_elem[cnt].name != NULL; ++cnt)
    {
      char real_elem[__gconv_max_path_elem_len + sizeof (gconv_conf_filename)];

      if (__realpath (__gconv_path_elem[cnt].name, real_elem) != NULL)
        {
          size_t elem_len = strlen (real_elem);
          char *filename;

          filename = alloca (elem_len + 1 + sizeof (gconv_conf_filename));
          __mempcpy (__mempcpy (__mempcpy (filename, real_elem, elem_len),
                                "/", 1),
                     gconv_conf_filename, sizeof (gconv_conf_filename));

          /* Read the next configuration file.  */
          read_conf_file (filename, real_elem, elem_len, &modules, &nmodules);
        }
    }

I didn't see anything which said stop if a module was found. It will
just read all config files it can find regardless their contents.



H.J.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]