[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-hams
Subject: libax25-0.0.12-rc2 patch
From: bernard pidoux <bpidoux () free ! fr>
Date: 2009-10-18 11:41:40
Message-ID: 4ADAFEF4.9090709 () free ! fr
[Download RAW message or body]
Hi,
I noticed that "official" libax25 does not include patches introduced
into my "unofficial" libax25 versions a few months ago.
Thus, I send here the first set from my own work on libax25 .
* BUG in proc_ax25 structure timers members size declared in
procutils.h. Since in kernel 2.6 the timers are now in
milliseconds,
they need more place to be saved (unsigned short --> unsigned
long).
Corrected, together with functions reading proc files in
procutils.c.
* BUG in procutils.h and procutils.c
in structure proc_rs_neigh field "use" was missing,
in function read_proc_rs_neigh proc_rs_neigh use was not read,
-- Bernard Pidoux <f6bvp@amsat.org> Jun 1 2008
["libax25-0.0.12-rc2_procutils.patch" (text/plain)]
--- libax25-0.0.12-rc2/netax25/procutils.h 2009-06-21 00:53:51.000000000 +0200
+++ libax25-0.0.12-rc2/netax25/procutils.h 2008-07-10 21:32:18.000000000 +0200
@@ -55,13 +55,13 @@
int ndigi;
unsigned char st;
unsigned short vs, vr, va;
- unsigned short t1, t1timer, t2, t2timer, t3, t3timer;
- unsigned short idle, idletimer;
- unsigned char n2, n2count;
- unsigned short rtt;
+ unsigned long t1timer, t1, t2timer, t2, t3timer, t3;
+ unsigned long idletimer, idle;
+ unsigned char n2count, n2;
+ unsigned long rtt;
unsigned char window;
unsigned short paclen;
- unsigned long sndq, rcvq;
+ unsigned short sndq, rcvq;
unsigned long inode;
struct proc_ax25 *next;
@@ -73,11 +73,11 @@
char my_circuit[6], ur_circuit[6];
unsigned char st;
unsigned short vs, vr, va;
- unsigned short t1, t1timer, t2, t2timer, t4, t4timer;
- unsigned short idle, idletimer;
- unsigned char n2, n2count;
+ unsigned long t1timer, t1, t2timer, t2, t4timer, t4;
+ unsigned long idletimer, idle;
+ unsigned char n2count, n2;
unsigned char window;
- unsigned long sndq, rcvq;
+ unsigned short sndq, rcvq;
unsigned long inode;
struct proc_nr *next;
@@ -120,33 +120,34 @@
};
struct proc_rs_route {
- unsigned short lci1;
+ unsigned short lci1;
char address1[11], call1[10];
- unsigned int neigh1;
- unsigned short lci2;
+ unsigned int neigh1;
+ unsigned short lci2;
char address2[11], call2[10];
- unsigned int neigh2;
+ unsigned int neigh2;
struct proc_rs_route *next;
};
struct proc_rs_neigh {
- int addr;
+ int addr;
char call[10];
char dev[14];
- int count;
+ unsigned int count;
+ unsigned int use;
char mode[4];
char restart[4];
- unsigned short t0, tf;
+ unsigned short t0, tf;
struct proc_rs_neigh *next;
};
struct proc_rs_nodes {
char address[11];
- unsigned char mask;
- unsigned char n;
- unsigned int neigh1, neigh2, neigh3;
+ unsigned char mask;
+ unsigned char n;
+ unsigned int neigh1, neigh2, neigh3;
struct proc_rs_nodes *next;
};
--- libax25-0.0.12-rc2/procutils.c 2009-06-21 00:54:50.000000000 +0200
+++ libax25-0.0.12-rc2/procutils.c 2008-07-10 21:32:18.000000000 +0200
@@ -117,22 +121,22 @@
p->vr = safe_atoi(token(&cp, space));
p->va = safe_atoi(token(&cp, space));
- p->t1timer = safe_atoi(token(&cp, space));
- p->t1 = safe_atoi(token(&cp, space));
+ p->t1timer = safe_atox(token(&cp, space));
+ p->t1 = safe_atox(token(&cp, space));
- p->t2timer = safe_atoi(token(&cp, space));
- p->t2 = safe_atoi(token(&cp, space));
+ p->t2timer = safe_atox(token(&cp, space));
+ p->t2 = safe_atox(token(&cp, space));
- p->t3timer = safe_atoi(token(&cp, space));
- p->t3 = safe_atoi(token(&cp, space));
+ p->t3timer = safe_atox(token(&cp, space));
+ p->t3 = safe_atox(token(&cp, space));
- p->idletimer = safe_atoi(token(&cp, space));
- p->idle = safe_atoi(token(&cp, space));
+ p->idletimer = safe_atox(token(&cp, space));
+ p->idle = safe_atox(token(&cp, space));
p->n2count = safe_atoi(token(&cp, space));
p->n2 = safe_atoi(token(&cp, space));
- p->rtt = safe_atoi(token(&cp, space));
+ p->rtt = safe_atox(token(&cp, space));
p->window = safe_atoi(token(&cp, space));
@@ -141,7 +145,7 @@
p->sndq = safe_atoi(token(&cp, space));
p->rcvq = safe_atoi(token(&cp, space));
- p->inode = safe_atoi(token(&cp, space));
+ p->inode = safe_atox(token(&cp, space));
p->next = list;
list = p;
@@ -244,21 +248,21 @@
p->vr = safe_atoi(token(&cp, space));
p->va = safe_atoi(token(&cp, space));
- p->t1timer = safe_atoi(token(&cp, "/"));
- p->t1 = safe_atoi(token(&cp, "/ \t\r\n"));
- p->t2timer = safe_atoi(token(&cp, "/"));
- p->t2 = safe_atoi(token(&cp, "/ \t\r\n"));
- p->t4timer = safe_atoi(token(&cp, "/"));
- p->t4 = safe_atoi(token(&cp, "/ \t\r\n"));
- p->idletimer = safe_atoi(token(&cp, "/"));
- p->idle = safe_atoi(token(&cp, "/ \t\r\n"));
+ p->t1timer = safe_atox(token(&cp, "/"));
+ p->t1 = safe_atox(token(&cp, "/ \t\r\n"));
+ p->t2timer = safe_atox(token(&cp, "/"));
+ p->t2 = safe_atox(token(&cp, "/ \t\r\n"));
+ p->t4timer = safe_atox(token(&cp, "/"));
+ p->t4 = safe_atox(token(&cp, "/ \t\r\n"));
+ p->idletimer = safe_atox(token(&cp, "/"));
+ p->idle = safe_atox(token(&cp, "/ \t\r\n"));
p->n2count = safe_atoi(token(&cp, "/"));
p->n2 = safe_atoi(token(&cp, "/ \t\r\n"));
p->window = safe_atoi(token(&cp, space));
p->sndq = safe_atoi(token(&cp, space));
p->rcvq = safe_atoi(token(&cp, space));
- p->inode = safe_atoi(token(&cp, space));
+ p->inode = safe_atox(token(&cp, space));
p->next = list;
list = p;
@@ -495,6 +499,7 @@
safe_strncpy(p->call, strtok(NULL, " \t\n\r"), 9);
safe_strncpy(p->dev, strtok(NULL, " \t\n\r"), 13);
p->count = safe_atoi(strtok(NULL, " \t\n\r"));
+ p->use = safe_atoi(strtok(NULL, " \t\n\r"));
safe_strncpy(p->mode, strtok(NULL, " \t\n\r"), 3);
safe_strncpy(p->restart, strtok(NULL, " \t\n\r"), 3);
p->t0 = safe_atoi(strtok(NULL, " \t\n\r"));
--
To unsubscribe from this list: send the line "unsubscribe linux-hams" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic