LINUX.ORG.RU

Сообщения itn

 

Не стартует dhcpd

Форум — Admin

Добрый день. Сразу к делу.

qlist -Iv dhcp
app-vim/dhcpd-syntax-20030825
net-misc/dhcp-4.3.1
cat /etc/dhcp/dhcpd.tunvpn.conf
log-facility local7;
authoritative;
default-lease-time 21600;
max-lease-time 28800;
option ip-forwarding on;
ddns-update-style none;

subnet 10.1.5.0 netmask 255.255.255.0 {
        option routers 10.1.5.1;
        option subnet-mask 255.255.255.0;
        option broadcast-address 10.1.5.255;
        option domain-name-servers 10.1.5.1;
        option  ntp-servers 10.1.5.1;
        range 10.1.5.6 10.1.5.36;
}
cat /etc/conf.d/dhcpd.tunvpn
DHCPD_CONF="/etc/dhcp/dhcpd.tunvpn.conf"
DHCPD_IFACE="tunvpn"
$ ls -l /etc/init.d/dhcpd.tunvpn 
lrwxrwxrwx 1 root root 5 янв  5 21:57 /etc/init.d/dhcpd.tunvpn -> dhcpd
ip addr 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
.......................................................
.......................................................
.......................................................
5: tunvpn: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
    link/none 
    inet 10.1.5.1 peer 10.1.5.2/32 scope global tunvpn
       valid_lft forever preferred_lft forever
/etc/init.d/dhcpd.tunvpn -v start
 * Starting dhcpd.tunvpn ...
 * start-stop-daemon: fopen `//var/run/dhcp/dhcpd.tunvpn.pid': No such file or directory
 * Detaching to start `/usr/sbin/dhcpd' ...
 *   start-stop-daemon: failed to start `/usr/sbin/dhcpd'   [ !! ]
 * ERROR: dhcpd.tunvpn failed to start

Думал проблема в двойном слеше (//), но для корня можно писать так (в инит_скрипте я правил на /).

Я видимо напортачил в dhcpd.tunvpn.conf. Ткните носом.

 ,

itn
()

Документация на PocketBook SDK

Форум — Development

Добрый день/ночь. Тут проблема нарисовалась... Захотел пописать хэлоуворлды, но документации по эпиай как-то не нашел. Есть ли что осмысленное по этому поводу? Есть тестовые приложения, но в этих портянках сложно разбираться.

Собственно что мне делать? Ковырять примеры или есть таки документация?

 , ,

itn
()

Неочевидное поведение scanf()

Форум — Development

Драсте.

Я тут жутко затупил, и не могу понять почему именно так работает.

Есть КОД:

#include <stdio.h>

int main(int aegc, char **argv)
{
	int i, s;
	while (1) {
		s = scanf("%d", &i);
		printf("%d: %d\n", s, i);
	}
	return 0;
}

Когда я в stdin пишу не цифры этот код зацикливается и не даёт мне на следующей итерации писать в in.

~$ ./a.out
3
1: 3
w
0: 3
0: 3
0: 3
0: 3
0: 3
.......
.......
.......
^C

Почему он зацикливается?

 

itn
()

realloc(): invalid next size:

Форум — Development

Добрый вечер! Есть какой код.

Но он не работает. Не могу понять почему он вываливается, роде всё верно.

Также жду любую конструктивную критику.

./a.out 
*** Error in `./a.out': realloc(): invalid next size: 0x000000000227c030 ***
Аварийный останов (сделан дамп памяти)

 ,

itn
()

В том ли я направлении иду.

Форум — Development

Добрый день. Пытаюсь писать «хороший» код. Всё что я понял и прочитал, решил проверить на клеточном автомате.

http://pastebin.ru/VvTJOoyw

Буду благодарен за критику.

 ,

itn
()

Динамическое распределение памяти

Форум — Development

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

#include <stdio.h>
#include <stdlib.h>

struct T **init(int *size);
void extend(struct T ***arr, int *size);
void freeall(struct T ***arr, int *size);

struct T
{
	int i;
};

int main(int argc, char *argv[])
{
	int arrsize = 5;
	int i;
	struct T **arrt;
	arrt = init(&arrsize);
	for (i = 0; i < arrsize; i++) {
		arrt[i]->i = ((i + 1) * (i + 1));
	}
	for (i = 0; i <= 5; i++) {
		extend(&arrt, &arrsize);
		arrt[arrsize - 1]->i = (arrsize * arrsize);
	}
	for (i = 0; i < arrsize; i++) {
		printf("%d\n", arrt[i]->i);
	}
	freeall(&arrt, &arrsize);
	return 0;
}

struct T **init(int *size)
{
	int i;
	struct T **arrt;
	arrt = calloc(*size, sizeof(int *));
	if (!arrt) {
		fprintf(stderr, "error\n");
		exit(1);
	}
	for (i = 0; i < *size; i++) {
		arrt[i] = calloc(1, sizeof(struct T *));
		if (!(arrt[i])) {
			fprintf(stderr, "error\n");
			exit(1);
		}
	}
	return arrt;
}

void extend(struct T ***arr, int *size)
{
	int oldsize = (*size)++;
	*arr = realloc(*arr, (sizeof(int *) * *size));
	if (!(*arr)) {
		fprintf(stderr, "error\n");
		exit(1);
	}
	(*arr)[oldsize] = calloc(1, sizeof(struct T *));
	if (!((*arr)[oldsize])) {
		fprintf(stderr, "error\n");
		exit(1);
	}
}

void freeall(struct T ***arr, int *size)
{
	int i;
	for (i = 0; i < *size; i++) {
		free((*arr)[i]);
	}
	free((*arr));
}

PS: Извините за табы.

 ,

itn
()

RSS подписка на новые темы