Няшная / Говнокод #5859 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
/*!
 * \brief is Printable Character
 * \param c Character
 * \return true/false
 */
static int isPrintableChar(char c)
{
	if ((c < 'A' || c > 'Z') && (c < 'a' || c > 'z')
	    && (c < '0' || c > '9') && (c != ' ') && (c != '\'')
	    && (c != '(') && (c != ')') && (c != '+') && (c != ',')
	    && (c != '-') && (c != '.') && (c != '/') && (c != ':')
	    && (c != '=') && (c != '?') && (c != '_') && (c != '\\')
	    && (c != '@') && (c != '"') && (c != '%') && (c != '$')
	    && (c != '&') && (c != '#') && (c != ';')
	    //&& (c != 'В_')
	    && (c != '<') && (c != '>') && (c != ']') && (c != '{')
	    && (c != '}') && (c != '*') && (c != '^')) {
		return 0;
	} else {
		return 1;
	}
}

из открытого проекта chan_sccp
даже не знаю почему не использовать стандартный макрос isprint
#define isprint(c) ((c) >= ' ' && (c) <= '~')

Запостил: ddkprog ddkprog, (Updated )

Комментарии (9) RSS

  • Стандартный макрос для isprint - это #include <ctype.h>
    И кроме того здесь пропущены некоторые символы - баг или фича?
    Ответить
  • PrintableChars: set of char = ['A' .. 'Z', 'a' .. 'z', '0' .. '9', ' ', '''', '(', ')', '+', ',', '-', '.', '/', ':', '=', '?', '_' , '\\'. '@', '"', '%'. '$', '&', '#', ';', '<', '>', ']', '{', '}' , '*', '^'];

    Это дословный перевод. Кстати, куда дели '['?
    Ответить
    • ну будем считать, что "[" не принтабельно 🙂
      не дословный, а гораздо лучший:)
      причем по скорости тоже.
      Ответить
      • Это дословный перевод с учётом местных особенностей.
        А не_дословный - это сразу [' ' .. '~']-['['];
        Ответить
        • я имел в виду результат. Он получается лучше.
          дословный это когда:
          if (c <> '(') and ....
          Ответить
            • В Паскале руки сами тянутся переложить это на вхождение в множество.
              Ответить
              • sybase`вские быдлокодеры просрали все символьные множества с внедрением UTF-16LE
                Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8