void urg_decode(unsigned char *buf, int *res)
 {
     int k;
     int i,idx,j=0;
     unsigned char data[2];
     char startIdx=47;  // era 26
     
     for (k=0; k<21; k++) {
         
         idx = startIdx + k*66;
         
         for (i=0;i<64;i+=2) {
             
             data[0]=buf[idx + i];
             data[1]=buf[idx + i+1];
             res[j] = char_decode(data, 2);
             j++;
         }
     }
     
     idx = startIdx + 21*66;
     for (i=0;i<20;i+=2) {
         
         data[0]=buf[idx + i];
         data[1]=buf[idx + i +1];
         res[j] = char_decode(data, 2);
         j++;
     }
 }
Exemplo n.º 2
0
int main()
{
    char s[BUFFER_SIZE];
    memset(s, '\0', BUFFER_SIZE);

    strcpy(s, S1);
    char_encode(s, ' ', ENCODE_SEQ);
    assert(strcmp(s, SE1) == 0);

    strcpy(s, S2);
    char_encode(s, ' ', ENCODE_SEQ);
    assert(strcmp(s, SE2) == 0);

    strcpy(s, S3);
    char_encode(s, ' ', ENCODE_SEQ);
    assert(strcmp(s, SE3) == 0);

    strcpy(s, SE1);
    char_decode(s, ' ', ENCODE_SEQ);
    assert(strcmp(s, S1) == 0);

    strcpy(s, SE2);
    char_decode(s, ' ', ENCODE_SEQ);
    assert(strcmp(s, S2) == 0);

    strcpy(s, SE3);
    char_decode(s, ' ', ENCODE_SEQ);
    assert(strcmp(s, S3) == 0);

    strcpy(s, SE4);
    char_decode(s, ' ', ENCODE_SEQ);
    assert(strcmp(s, S4) == 0);

    exit(EXIT_SUCCESS);
}