Как заставить iconv работать?
printf("result: '%s'\n", converted_start);
в converted_start -- utf8...fprintf(stdout, "debug: event = RUNE, data = %c\n", iso);
iso -- это во-первых массив, а во-вторых, массив символов CP866.void parse_callback( struct parser_event *pe, void *userdata )
{
switch ( pe->event ) {
case EVENT_RUNE: {
char *iso = &pe->rune;
char out[10] = {0};
char *converted = out;
size_t ibl = 1;
size_t obl = sizeof(out);
iconv_t foo = iconv_open("CP866", "UTF-8");
int ret;
if((int) foo == -1) {
if (errno == EINVAL) {
fprintf(stderr,
"Conversion is not supported");
} else {
fprintf(stderr, "Initialization failure:\n");
}
break;
}
ret = iconv(foo, &iso, &ibl, &converted, &obl);
// if iconv fails it returns -1
if(ret == (iconv_t)-1) {
perror("iconv");
} else {
// otherwise the number of converted bytes
printf("%i bytes converted\n", ret);
printf("result: '%s'\n", out);
}
iconv_close(foo);
fprintf(stdout, "debug: event = RUNE, data = %c\n", pe->rune);
break;
}
case EVENT_FONT:
fprintf( stderr, "FUCK FONT\n");
fprintf( stdout, "debug: event = FONT, data = %d\n", pe->font_id );
break;
case EVENT_ERROR:
fprintf( stderr, "FUCK ERROR\n");
fprintf( stdout, "debug: event = ERROR\n" );
break;
default:
fprintf( stdout, "debug: event = UNKNOWN\n" );
}
}
теперь при запуске любой программы из меню, у меня открывается консоль и пишет
[*] This script must be run as root
Как сделать так, что бы все запускалось из меню и не требовало каждый раз писать sudo?
g++ последних версий в linux собирает разделяемые библиотеки, а не исполняемые файлы
В /bin большинство софта собрано как разделяемые библиотеки. Ощущение, что я что-то пропустил.
Возник ряд вопросов: как завершить конкретный процесс tcpdump, запущенный вчера?
Как запустить tcpdump в фоновом режиме?
tcpdump <опции> >& /dev/null &
if (file_ns_capable(m->file, &init_user_ns, CAP_SYS_ADMIN)) {
start = r->start;
end = r->end;
} else {
start = end = 0;
}
commit 51d7b120418e99d6b3bf8df9eb3cc31e8171dee4
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date: Thu Apr 14 12:05:37 2016 -0700
/proc/iomem: only expose physical resource addresses to privileged users
In commit c4004b02f8e5b ("x86: remove the kernel code/data/bss resources
from /proc/iomem") I was hoping to remove the phyiscal kernel address
data from /proc/iomem entirely, but that had to be reverted because some
system programs actually use it.
This limits all the detailed resource information to properly
credentialed users instead.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Какие ошибки в неблокируемом сокете не приводят к его закрытию?
Какие ошибки неблокируемого сокета можно игнорировать в сетевом программировании
как примерно решать и что надо использовать
Я меняю рутовую директорию но ничего не выходит, подскажите почему?
set root='hd0,msdos1'
, вы ведь его не поменяли? Для /dev/sda2 там должно быть hd0,msdos2. И вдобавок должен быть загружен модуль GRUB для той файловой системы, которая на /dev/sda2 чтобы он смог оттуда что-то загрузить. Как записать текст в файл используя copyFileA?
Подскажите пожалуйста, какую функцию здесь выполняет строка return ((bitset.intRepresent & (bitset.intRepresent-1)) == 0); // denormalized number - как она проверяет число на денормализованое значение?
#include <stdint.h>
#include <string.h>
int isPowOf2(double number)
{
uint64_t v;
uint64_t m;
memcpy(&v, &number, sizeof(v));
m = v & ((UINT64_C(1) << 52) - 1); // m holds the mantissa bits
switch ((v >> 52) & 0x7ff) { // check the exponent bits
case 0: // 0 or denormal
if (m == 0) // 0 is represented by exponent and mantissa both 0
return 0; // 0 is not a power of 2
else // denormal number has all its bits in the mantissa
return m & (m - 1) == 0; // a power of 2 has exactly one 1 bit in m
case 0x7ff: // infinity or NaN
return 0; // neither is a power of 2
default: // ordinary number always has leading 1 which is not recorded in the mantissa
return m == 0; // a power of 2 has exactly one 1 bit and we know that it's not in m
}
}