author | viric@llimona |
Thu, 06 Apr 2006 01:47:35 +0200 | |
changeset 18 | 84fa30ea0b0d |
parent 15 | fea6e87812f0 |
child 22 | 52c1a4d0b565 |
permissions | -rw-r--r-- |
0 | 1 |
#include "rfc3164.h" |
15
fea6e87812f0
Now everything works - the rfc3164 message parser must be improved.
viric@llimona
parents:
6
diff
changeset
|
2 |
#include <stdio.h> // snprintf |
fea6e87812f0
Now everything works - the rfc3164 message parser must be improved.
viric@llimona
parents:
6
diff
changeset
|
3 |
#include <unistd.h> // write |
fea6e87812f0
Now everything works - the rfc3164 message parser must be improved.
viric@llimona
parents:
6
diff
changeset
|
4 |
#include <string.h> // strlen |
1 | 5 |
|
0 | 6 |
|
6 | 7 |
int process_message(char * restrict buffer) |
0 | 8 |
{ |
6 | 9 |
int i; |
15
fea6e87812f0
Now everything works - the rfc3164 message parser must be improved.
viric@llimona
parents:
6
diff
changeset
|
10 |
char message[MESSAGE_LENGTH+1]; |
0 | 11 |
|
6 | 12 |
for(i=0; i<MESSAGE_LENGTH; i++) |
1 | 13 |
{ |
6 | 14 |
if (buffer[i] == '\n' || buffer[i] == '\0') |
15 |
{ |
|
16 |
buffer[i] = '\0'; |
|
17 |
break; |
|
18 |
} |
|
19 |
else if ((buffer[i] & 128) == 128 ) |
|
20 |
{ |
|
21 |
/* Convertim de 8bits a 7bits */ |
|
22 |
buffer[i] = buffer[i] & ~128; |
|
23 |
} |
|
1 | 24 |
} |
6 | 25 |
if(i == MESSAGE_LENGTH) |
15
fea6e87812f0
Now everything works - the rfc3164 message parser must be improved.
viric@llimona
parents:
6
diff
changeset
|
26 |
buffer[MESSAGE_LENGTH-1] = '\0'; |
6 | 27 |
/* Debug */ |
15
fea6e87812f0
Now everything works - the rfc3164 message parser must be improved.
viric@llimona
parents:
6
diff
changeset
|
28 |
/* fprintf(stderr,"M: %s\n", buffer); */ |
fea6e87812f0
Now everything works - the rfc3164 message parser must be improved.
viric@llimona
parents:
6
diff
changeset
|
29 |
|
fea6e87812f0
Now everything works - the rfc3164 message parser must be improved.
viric@llimona
parents:
6
diff
changeset
|
30 |
snprintf(message, MESSAGE_LENGTH+1,"%s\n", buffer); |
fea6e87812f0
Now everything works - the rfc3164 message parser must be improved.
viric@llimona
parents:
6
diff
changeset
|
31 |
write(1, message, strlen(message)); |
6 | 32 |
|
33 |
return i; |
|
0 | 34 |
} |