[devel] [JT] glibc: обработка пустых подстрок в PATH, LD_PRELOAD etc

Konstantin S. Uvarin =?iso-8859-1?q?khedin_=CE=C1_mail=2Eru?=
Чт Мар 27 13:26:42 MSK 2008


Приветствую. 

  Давно не дает мне покоя один вопрос: для чего glibc интерпретирует пустую 
подстроку в $PATH, $LD_PRELOAD и т.п. как текущий каталог? Ведь если 
пользователю нужно именно текущий каталог указать, он и укажет PATH=$PATH:.

  А так получается, что команда PATH=$PATH:$SOMEVAR делает не то, что 
задумывалось, если SOMEVAR неопределена. 

  Причем я смотрел код, это специально выделено в отдельный случай и написан 
комментарий даже. Зачем, зачем это сделано? Не понимаю...

In elf/dl-load.c, function fillin_rpath:

      /* `strsep' can pass an empty string.  This has to be 
         interpreted as `use the current directory'. */
      if (len == 0)
        {
          static const char curwd[] = "./";
          cp = (char *) curwd;
        }

-- 
Konstantin S. Uvarin
Главный редактор, крякнув, осушил стопку. Новости радостно закрякали в ответ.


Подробная информация о списке рассылки Devel