File: args_binary.inc

package info (click to toggle)
critcl 3.3.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 9,680 kB
  • sloc: ansic: 41,058; tcl: 12,090; sh: 7,230; pascal: 3,456; asm: 3,058; ada: 1,681; cpp: 1,001; cs: 879; makefile: 333; perl: 104; xml: 95; f90: 10
file content (21 lines) | stat: -rw-r--r-- 666 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[comment {-*- mode: tcl ; fill-column: 90 -*-}]

[list_begin enumerated]

[enum][vset base][example {
    critcl::cproc hello {bytes x} void {
        /* critcl_bytes x (.s, .len, .o); */
        printf("hello world, with %d bytes \n data: ", x.len);
        for (i = 0; i < x.len; i++) {
            printf(" %02x", x.s[i]);
            if (i % 16 == 15) printf ("\ndata: ");
        }
        if (i % 16 != 0) printf ("\n");
    }
}][vset rebuild]

[enum] To deal with strings holding binary data use the type [type bytes]. It ensures that
the function sees the proper binary data, and not how Tcl is encoding it internally, as
the string types would.

[list_end]