Pull to refresh
5
0
Алексей Салмин @salmin

User

Send message

Об операторах

Reading time 1 min
Views 954
Задумался тут над вопросом. В языке Си для операторов && и || определен порядок вычисления операндов. Более того, если левый операнд вернул ложь для && или истину для ||, то правый вычисляться уже не будет. Это позволяет использовать конструкции по типу «smth or die», которые сплошь и рядом можно встретить в скриптовых языках:
(f = fopen("file", "r")) || fprintf(stderr, "Can not open file\n");
Вы когда нибудь видели такой код на Си? Я нет. Вот интересно почему :) Предвидя ответы «слишком длинно», «некрасиво» и т.п.: тогда почему же в скриптовых языках оно так распространено?
Total votes 18: ↑11 and ↓7 +4
Comments 23

rethink their coding style…

Reading time 1 min
Views 15K
Выдержка из исходников gcc, файл libcpp/files.c

Copy Source | Copy HTML
  1. /* off_t might have a wider range than ssize_t - in other words,
  2. the max size of a file might be bigger than the address
  3. space. We can't handle a file that large. (Anyone with
  4. a single source file bigger than 2GB needs to rethink
  5. their coding style.) Some systems (e.g. AIX 4.1) define
  6. SSIZE_MAX to be much smaller than the actual range of the
  7. type. Use INTTYPE_MAXIMUM unconditionally to ensure this
  8. does not bite us. */
  9.    if (file->st.st_size > INTTYPE_MAXIMUM (ssize_t))
  10.    {
  11.       cpp_error (pfile, CPP_DL_ERROR, "%s is too large", file->path);
  12.       return false;
  13.    }
  14.  
  15.       size = file->st.st_size;
Total votes 68: ↑63 and ↓5 +58
Comments 15

Утягиваем фотографии по bluetooth

Reading time 3 min
Views 940
На хабре регулярно публикуют разнообразные bash-скрипты, попроще и посложнее — внесу и я свою лепту.
Так сложилось, что я делаю много фотографий телефоном — по этой причине захотелось иметь способ автоматически сливать их на комп. Данный скрипт запрашивает список файлов на телефоне, сверяет его с локальным списком и загружет недостающие файлы. Он опирается на утилиту obexftp, доступную в большинстве дистрибутивов. У меня он висит в cron'e на 6 утра — довольно удобно. Вообще с его помощью можно получать не только фотографии — в целом, это простенькая утилита синхронизации данных.
Замечания по использованию и сам скрипт под хабракатом.
Читать дальше →
Total votes 35: ↑32 and ↓3 +29
Comments 16

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity