|
@@ -67,37 +67,34 @@ char *ax2asc(char *buf, ax25_address *a)
|
|
|
/*
|
|
|
* ascii -> ax25 conversion
|
|
|
*/
|
|
|
-ax25_address *asc2ax(char *callsign)
|
|
|
+void asc2ax(ax25_address *addr, char *callsign)
|
|
|
{
|
|
|
- static ax25_address addr;
|
|
|
char *s;
|
|
|
int n;
|
|
|
|
|
|
for (s = callsign, n = 0; n < 6; n++) {
|
|
|
if (*s != '\0' && *s != '-')
|
|
|
- addr.ax25_call[n] = *s++;
|
|
|
+ addr->ax25_call[n] = *s++;
|
|
|
else
|
|
|
- addr.ax25_call[n] = ' ';
|
|
|
- addr.ax25_call[n] <<= 1;
|
|
|
- addr.ax25_call[n] &= 0xFE;
|
|
|
+ addr->ax25_call[n] = ' ';
|
|
|
+ addr->ax25_call[n] <<= 1;
|
|
|
+ addr->ax25_call[n] &= 0xFE;
|
|
|
}
|
|
|
|
|
|
if (*s++ == '\0') {
|
|
|
- addr.ax25_call[6] = 0x00;
|
|
|
- return &addr;
|
|
|
+ addr->ax25_call[6] = 0x00;
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
- addr.ax25_call[6] = *s++ - '0';
|
|
|
+ addr->ax25_call[6] = *s++ - '0';
|
|
|
|
|
|
if (*s != '\0') {
|
|
|
- addr.ax25_call[6] *= 10;
|
|
|
- addr.ax25_call[6] += *s++ - '0';
|
|
|
+ addr->ax25_call[6] *= 10;
|
|
|
+ addr->ax25_call[6] += *s++ - '0';
|
|
|
}
|
|
|
|
|
|
- addr.ax25_call[6] <<= 1;
|
|
|
- addr.ax25_call[6] &= 0x1E;
|
|
|
-
|
|
|
- return &addr;
|
|
|
+ addr->ax25_call[6] <<= 1;
|
|
|
+ addr->ax25_call[6] &= 0x1E;
|
|
|
}
|
|
|
|
|
|
/*
|