Что означает добавление IP-адреса в файл resolv.conf?

glibc допускает три -десятичных диапазона с точками (как в POSIX )и два -шестнадцатеричных диапазона с точками. Это нигде не задокументировано, но мы можем видеть это в исходном коде. Это не определенное переносимое поведение, а расширение glibc и, возможно, других. Если вы пишете свои собственные файлы, используйте decimal.


Давайте подтвердим, что это реальное поведение glibc.

При обработке диапазона glibc использует:

   if (decimal_ellipsis)
     while (isdigit (*cp) && cp >= from)
       --cp;
   else
     while (isxdigit (*cp) && cp >= from)
       {
         if (!isdigit (*cp) && !isupper (*cp))
           lr_error (lr, _("\
 hexadecimal range format should use only capital characters"));
         --cp;
       }

, где isxdigitпроверяет шестнадцатеричное число, а isdigitдесятичное. Позже он таким же образом разветвляет преобразование потребляемой подстроки в целое число и продолжает, как и следовало ожидать. Ранее он определял тип рассматриваемого многоточия во время синтаксического анализа , полученного из лексера .

Charmap-файл UTF -8 создается механически из файла unicode.org UnicodeData.txt, создавая 64 -диапазона кодовых точек с двумя точками. Я предполагаю, что это удобное авто-поколение хотя бы частично отстает от расширения, но я не знаю. Более ранние версии glibc также генерировали его, но с использованием другой программы и того же формата.

Опять же, похоже, это нигде не задокументировано, и, поскольку он автоматически -генерируется рядом с местом его использования, он, вероятно, может измениться, но я полагаю, что он будет стабильным.


Если дано что-то вроде

.. /xe3/x90/x80 

, то это шестнадцатеричный диапазон, поскольку он использует две точки. С тремя точками это будет десятичный диапазон POSIX.

Если вы работаете в другой системе, в которой нет этого расширения, это будет просто синтаксическая ошибка. Переносимый файл карты символов должен использовать только десятичные диапазоны.

0
13.09.2020, 09:54
0 ответов

Теги

Похожие вопросы