diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2020-12-20 23:01:54 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2020-12-22 11:50:09 +0900 |
commit | 112ca8677b9b024de5529712e559c968da40a67a (patch) | |
tree | a8e93a0b05d61aeaab1dab3288c5fc518cdd05c6 /debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c | |
parent | b37f44d6c7444ca20c48a07fdcaf7b2a812db5bd (diff) | |
download | extra-dependencies-112ca8677b9b024de5529712e559c968da40a67a.tar.gz extra-dependencies-112ca8677b9b024de5529712e559c968da40a67a.zip |
DEB uncrustify: added first version of uncrustify-trinity. This is basically the upstream 0.72.0 version of uncrustify, repackaged.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c')
267 files changed, 15432 insertions, 0 deletions
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00000-comment-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00000-comment-indent.c new file mode 100644 index 00000000..b59ab389 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00000-comment-indent.c @@ -0,0 +1,40 @@ +/** + * This is your typical header comment + */ +int foo(int bar) +{ + int idx; + int res = 0; // trailing comment + // that spans two lines + for (idx = 1; idx < bar; idx++) + /* comment in virtual braces */ + res += idx; + + res *= idx; // some comment + + // almost continued, but a NL in between + +// col1 comment in level 1 +// second comment + return(res); +} + +// col1 comment in level 0 +// and another + +void foo() +{ + if( bar ) + { + foo(); + } + /*else if( bar2 ) + { + foo2(); + } + */else if( bar3 ) + { + foo3(); + } +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00001-comment-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00001-comment-indent.c new file mode 100644 index 00000000..e4ba53de --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00001-comment-indent.c @@ -0,0 +1,40 @@ +/** + * This is your typical header comment + */ +int foo(int bar) +{ + int idx; + int res = 0; /* trailing comment */ + /* that spans two lines */ + for (idx = 1; idx < bar; idx++) + /* comment in virtual braces */ + res += idx; + + res *= idx; /* some comment */ + + /* almost continued, but a NL in between */ + +/* col1 comment in level 1 */ +/* second comment */ + return(res); +} + +/* col1 comment in level 0 */ +/* and another */ + +void foo() +{ + if( bar ) + { + foo(); + } + /*else if( bar2 ) + * { + * foo2(); + * } + */else if( bar3 ) + { + foo3(); + } +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00002-comment-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00002-comment-indent.c new file mode 100644 index 00000000..09ca01ac --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00002-comment-indent.c @@ -0,0 +1,40 @@ +/** + * This is your typical header comment + */ +int foo(int bar) +{ + int idx; + int res = 0; /* trailing comment + * that spans two lines */ + for (idx = 1; idx < bar; idx++) + /* comment in virtual braces */ + res += idx; + + res *= idx; /* some comment */ + + /* almost continued, but a NL in between */ + +/* col1 comment in level 1 + * second comment */ + return(res); +} + +/* col1 comment in level 0 + * and another */ + +void foo() +{ + if( bar ) + { + foo(); + } + /*else if( bar2 ) + * { + * foo2(); + * } + */else if( bar3 ) + { + foo3(); + } +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00003-comment-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00003-comment-indent.c new file mode 100644 index 00000000..0f906f2f --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00003-comment-indent.c @@ -0,0 +1,47 @@ +/** + * This is your typical header comment + */ +int foo(int bar) +{ + int idx; + int res = 0; /* + * trailing comment + * that spans two lines + */ + for (idx = 1; idx < bar; idx++) + /* comment in virtual braces */ + res += idx; + + res *= idx; /* some comment */ + + /* almost continued, but a NL in between */ + +/* + * col1 comment in level 1 + * second comment + */ + return(res); +} + +/* + * col1 comment in level 0 + * and another + */ + +void foo() +{ + if( bar ) + { + foo(); + } + /*else if( bar2 ) + * { + * foo2(); + * } + */ + else if( bar3 ) + { + foo3(); + } +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00004-switch.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00004-switch.c new file mode 100644 index 00000000..ffb54327 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00004-switch.c @@ -0,0 +1,29 @@ + +int foo(int op) +{ + switch (op) + { + case 1: { + do_something(); + return 0; + } + + case 2: + do_something_else(); + return 1; + + case 3: + case 4: + /* don't do anything */ + break; + + case 5: + return 3; + + default: + break; + } + + return -1; +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00005-cmt-align.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00005-cmt-align.c new file mode 100644 index 00000000..0a9684c5 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00005-cmt-align.c @@ -0,0 +1,20 @@ +#ifndef HAVE_FOO +void foo(void) +{ + if (bar) + { + call_some_function(); /* call the function */ + return(foo); /* comment */ + } /* if (bar) */ +} +#endif /* HAVE_FOO */ +#ifndef HAVE_BAR /* bar isn't available on all HW */ +void bar(void) +{ + if (foo) + { + call_some_function(); /* call the function */ + return(foo); /* comment */ + } /* if (foo) */ +} +#endif /* HAVE_BAR */ diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00006-comment-convert.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00006-comment-convert.c new file mode 100644 index 00000000..c7a019f7 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00006-comment-convert.c @@ -0,0 +1,27 @@ +// This is your typical header comment +int foo(int bar) +{ + int idx; + int res = 0; // trailing comment + // that spans two lines + + + // Comment with embedded /* C comment */ + for (idx = 1; idx < bar; idx++) + /* comment in virtual braces */ + res += idx; + + // Multi-line comment with embedded /* C comment */ and junk + // afterwards + res *= idx; // some comment + + // almost continued, but a NL in between + +// col1 comment in level 1 +// second comment + return(res); +} + +// col1 comment in level 0 +// and another + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00007-comment-convert.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00007-comment-convert.c new file mode 100644 index 00000000..886d7698 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00007-comment-convert.c @@ -0,0 +1,27 @@ +/* This is your typical header comment */ +int foo(int bar) +{ + int idx; + int res = 0; /* trailing comment */ + /* that spans two lines */ + + + /* Comment with embedded / * C comment * / */ + for (idx = 1; idx < bar; idx++) + /* comment in virtual braces */ + res += idx; + + /* Multi-line comment with embedded / * C comment * / and junk */ + /* afterwards */ + res *= idx; /* some comment */ + + /* almost continued, but a NL in between */ + +/* col1 comment in level 1 */ +/* second comment */ + return(res); +} + +/* col1 comment in level 0 */ +/* and another */ + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00008-comment-convert.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00008-comment-convert.c new file mode 100644 index 00000000..c2af0f8b --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00008-comment-convert.c @@ -0,0 +1,27 @@ +/* This is your typical header comment */ +int foo(int bar) +{ + int idx; + int res = 0; /* trailing comment + * that spans two lines */ + + + /* Comment with embedded / * C comment * / */ + for (idx = 1; idx < bar; idx++) + /* comment in virtual braces */ + res += idx; + + /* Multi-line comment with embedded / * C comment * / and junk + * afterwards */ + res *= idx; /* some comment */ + + /* almost continued, but a NL in between */ + +/* col1 comment in level 1 + * second comment */ + return(res); +} + +/* col1 comment in level 0 + * and another */ + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00009-comment-convert.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00009-comment-convert.c new file mode 100644 index 00000000..0d3f218a --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00009-comment-convert.c @@ -0,0 +1,35 @@ +/* This is your typical header comment */ +int foo(int bar) +{ + int idx; + int res = 0; /* + * trailing comment + * that spans two lines + */ + + + /* Comment with embedded / * C comment * / */ + for (idx = 1; idx < bar; idx++) + /* comment in virtual braces */ + res += idx; + + /* + * Multi-line comment with embedded / * C comment * / and junk + * afterwards + */ + res *= idx; /* some comment */ + + /* almost continued, but a NL in between */ + +/* + * col1 comment in level 1 + * second comment + */ + return(res); +} + +/* + * col1 comment in level 0 + * and another + */ + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00010-braces.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00010-braces.c new file mode 100644 index 00000000..c4dc5faf --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00010-braces.c @@ -0,0 +1,101 @@ + +void foo(void) +{ + int a = 0; + + while (a < 3) + { + a++; + } + + while (b < a) // trailing C++ comment + { + b++; + } + + do // trailing C++ comment + { + a--; + } while (a > 0); + + do + { + a--; + } while (a > 0); + + for (a = 0; a < 10; a++) // trailing C++ comment + { + printf("a=%d\n", a); + } + + if (a == 10) // trailing C++ comment + { + printf("a looks good\n"); + } + else // trailing C++ comment + { + printf("not so good\n"); + } + + if (state == ST_RUN) + { + if ((foo < bar) && + (bar > foo2)) + { + if (a < 5) + { + a *= a; + } + else if (b != 0) + { + a /= b; + } + else // trailing C++ comment + { + a += b; + } + } + } + + list_for_each(k) + { + if (a) + { + if (b) + { + c++; + } + } + } + + + while (1) + { + /* hang forever */ + } +} /* foo */ + +void f() +{ + if (buf[0] == '~' && strchr(tmp, '/') == NULL) + { + buf = mallocstrcpy(buf, tmp); + matches = username_tab_completion(tmp, &num_matches); + } + /* If we're in the middle of the original line, copy the string + * only up to the cursor position into buf, so tab completion + * will result in buf's containing only the tab-completed + * path/filename. */ + else if (strlen(buf) > strlen(tmp)) + { + buf = mallocstrcpy(buf, tmp); + } +} + +void f() +{ +} +void g() +{ +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00011-braces.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00011-braces.c new file mode 100644 index 00000000..893a32f6 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00011-braces.c @@ -0,0 +1,87 @@ + +void foo(void) +{ + int a = 0; + while (a < 3) + { + a++; + } + + while (b < a) // trailing C++ comment + b++; + + do // trailing C++ comment + { + a--; + } while (a > 0); + + do + a--; + while (a > 0); + + for (a = 0; a < 10; a++) // trailing C++ comment + { + printf("a=%d\n", a); + } + + if (a == 10) // trailing C++ comment + { + printf("a looks good\n"); + } + else // trailing C++ comment + { + printf("not so good\n"); + } + + if (state == ST_RUN) + { + if ((foo < bar) && + (bar > foo2)) + { + if (a < 5) + { + a *= a; + } + else if (b != 0) + a /= b; + else // trailing C++ comment + a += b; + } + } + + list_for_each(k) + { + if (a) + if (b) + { + c++; + } + } + + + while (1) + ; /* hang forever */ +} + +void f() +{ + if (buf[0] == '~' && strchr(tmp, '/') == NULL) + { + buf = mallocstrcpy(buf, tmp); + matches = username_tab_completion(tmp, &num_matches); + } + /* If we're in the middle of the original line, copy the string + only up to the cursor position into buf, so tab completion + will result in buf's containing only the tab-completed + path/filename. */ + else if (strlen(buf) > strlen(tmp)) + buf = mallocstrcpy(buf, tmp); +} + +void f() +{ +} +void g() +{ +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00012-braces.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00012-braces.c new file mode 100644 index 00000000..851f4df9 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00012-braces.c @@ -0,0 +1,73 @@ + +void foo(void) { + int a = 0; + while (a < 3) { + a++; + } + + while (b < a) // trailing C++ comment + b++; + + do { // trailing C++ comment + a--; + } + while (a > 0); + + do + a--; + while (a > 0); + + for (a = 0; a < 10; a++) { // trailing C++ comment + printf("a=%d\n", a); + } + + if (a == 10) { // trailing C++ comment + printf("a looks good\n"); + } + else { // trailing C++ comment + printf("not so good\n"); + } + + if (state == ST_RUN) { + if ((foo < bar) && + (bar > foo2)) { + if (a < 5) { + a *= a; + } + else if (b != 0) + a /= b; + else // trailing C++ comment + a += b; + } + } + + list_for_each(k) { + if (a) + if (b) { + c++; + } + } + + + while (1) + ; /* hang forever */ +} + +void f() { + if (buf[0] == '~' && strchr(tmp, '/') == NULL) { + buf = mallocstrcpy(buf, tmp); + matches = username_tab_completion(tmp, &num_matches); + } + /* If we're in the middle of the original line, copy the string + only up to the cursor position into buf, so tab completion + will result in buf's containing only the tab-completed + path/filename. */ + else if (strlen(buf) > strlen(tmp)) + buf = mallocstrcpy(buf, tmp); +} + +void f() { +} +void g() { +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00013-braces.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00013-braces.c new file mode 100644 index 00000000..2adcab76 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00013-braces.c @@ -0,0 +1,88 @@ + +void foo(void) +{ + int a = 0; + while (a < 3) + { + a++; + } + + while (b < a) // trailing C++ comment + b++; + + do // trailing C++ comment + { + a--; + } + while (a > 0); + + do + a--; + while (a > 0); + + for (a = 0; a < 10; a++) // trailing C++ comment + { + printf("a=%d\n", a); + } + + if (a == 10) // trailing C++ comment + { + printf("a looks good\n"); + } + else // trailing C++ comment + { + printf("not so good\n"); + } + + if (state == ST_RUN) + { + if ((foo < bar) && + (bar > foo2)) + { + if (a < 5) + { + a *= a; + } + else if (b != 0) + a /= b; + else // trailing C++ comment + a += b; + } + } + + list_for_each(k) + { + if (a) + if (b) + { + c++; + } + } + + + while (1) + ; /* hang forever */ +} + +void f() +{ + if (buf[0] == '~' && strchr(tmp, '/') == NULL) + { + buf = mallocstrcpy(buf, tmp); + matches = username_tab_completion(tmp, &num_matches); + } + /* If we're in the middle of the original line, copy the string + only up to the cursor position into buf, so tab completion + will result in buf's containing only the tab-completed + path/filename. */ + else if (strlen(buf) > strlen(tmp)) + buf = mallocstrcpy(buf, tmp); +} + +void f() +{ +} +void g() +{ +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00014-braces.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00014-braces.c new file mode 100644 index 00000000..1966a0c7 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00014-braces.c @@ -0,0 +1,75 @@ + +void foo(void) +{ + int a = 0; + while (a < 3) { + a++; + } + + while (b < a) // trailing C++ comment + b++; + + do { // trailing C++ comment + a--; + } while (a > 0); + + do + a--; + while (a > 0); + + for (a = 0; a < 10; a++) { // trailing C++ comment + printf("a=%d\n", a); + } + + if (a == 10) { // trailing C++ comment + printf("a looks good\n"); + } else { // trailing C++ comment + printf("not so good\n"); + } + + if (state == ST_RUN) { + if ((foo < bar) && + (bar > foo2)) { + if (a < 5) { + a *= a; + } else if (b != 0) + a /= b; + else // trailing C++ comment + a += b; + } + } + + list_for_each(k) + { + if (a) + if (b) { + c++; + } + } + + + while (1) + ; /* hang forever */ +} + +void f() +{ + if (buf[0] == '~' && strchr(tmp, '/') == NULL) { + buf = mallocstrcpy(buf, tmp); + matches = username_tab_completion(tmp, &num_matches); + } + /* If we're in the middle of the original line, copy the string + only up to the cursor position into buf, so tab completion + will result in buf's containing only the tab-completed + path/filename. */ + else if (strlen(buf) > strlen(tmp)) + buf = mallocstrcpy(buf, tmp); +} + +void f() +{ +} +void g() +{ +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00015-braces.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00015-braces.c new file mode 100644 index 00000000..c29cdecd --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00015-braces.c @@ -0,0 +1,88 @@ + +void foo(void) + { + int a = 0; + while (a < 3) + { + a++; + } + + while (b < a) // trailing C++ comment + b++; + + do // trailing C++ comment + { + a--; + } + while (a > 0); + + do + a--; + while (a > 0); + + for (a = 0; a < 10; a++) // trailing C++ comment + { + printf("a=%d\n", a); + } + + if (a == 10) // trailing C++ comment + { + printf("a looks good\n"); + } + else // trailing C++ comment + { + printf("not so good\n"); + } + + if (state == ST_RUN) + { + if ((foo < bar) && + (bar > foo2)) + { + if (a < 5) + { + a *= a; + } + else if (b != 0) + a /= b; + else // trailing C++ comment + a += b; + } + } + + list_for_each(k) + { + if (a) + if (b) + { + c++; + } + } + + + while (1) + ; /* hang forever */ + } + +void f() + { + if (buf[0] == '~' && strchr(tmp, '/') == NULL) + { + buf = mallocstrcpy(buf, tmp); + matches = username_tab_completion(tmp, &num_matches); + } + /* If we're in the middle of the original line, copy the string + only up to the cursor position into buf, so tab completion + will result in buf's containing only the tab-completed + path/filename. */ + else if (strlen(buf) > strlen(tmp)) + buf = mallocstrcpy(buf, tmp); + } + +void f() + { + } +void g() + { + } + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00016-braces.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00016-braces.c new file mode 100644 index 00000000..ce7df756 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00016-braces.c @@ -0,0 +1,88 @@ + +void foo(void) +{ + int a = 0; + while (a < 3) + { + a++; + } + + while (b < a) // trailing C++ comment + b++; + + do // trailing C++ comment + { + a--; + } + while (a > 0); + + do + a--; + while (a > 0); + + for (a = 0; a < 10; a++) // trailing C++ comment + { + printf("a=%d\n", a); + } + + if (a == 10) // trailing C++ comment + { + printf("a looks good\n"); + } + else // trailing C++ comment + { + printf("not so good\n"); + } + + if (state == ST_RUN) + { + if ((foo < bar) && + (bar > foo2)) + { + if (a < 5) + { + a *= a; + } + else if (b != 0) + a /= b; + else // trailing C++ comment + a += b; + } + } + + list_for_each(k) + { + if (a) + if (b) + { + c++; + } + } + + + while (1) + ; /* hang forever */ +} + +void f() +{ + if (buf[0] == '~' && strchr(tmp, '/') == NULL) + { + buf = mallocstrcpy(buf, tmp); + matches = username_tab_completion(tmp, &num_matches); + } + /* If we're in the middle of the original line, copy the string + only up to the cursor position into buf, so tab completion + will result in buf's containing only the tab-completed + path/filename. */ + else if (strlen(buf) > strlen(tmp)) + buf = mallocstrcpy(buf, tmp); +} + +void f() +{ +} +void g() +{ +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00020-define-if-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00020-define-if-indent.c new file mode 100644 index 00000000..f7efd78c --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00020-define-if-indent.c @@ -0,0 +1,9 @@ + +#define foobar(x) \ + { \ + for (i = 0; i < x; i++) \ + { \ + junk(i, x); \ + } \ + } + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00050-brace-remove.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00050-brace-remove.c new file mode 100644 index 00000000..857e4031 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00050-brace-remove.c @@ -0,0 +1,69 @@ + +void foo(void) +{ + int a = 0; + while (a < 3) + a++; + + while (b < a) + b++; + + do + a--; + while (a > 0); + + for (a = 0; a < 10; a++) + printf("a=%d\n", a); + + if (a == 10) + printf("a looks good\n"); + + if (state == ST_RUN) + { + if ((foo < bar) && + (bar > foo2)) + { + if (a < 5) + a *= a; + } + } + + while (*ptr++ != ',') + { + } +} + +// mod_full_brace_for = remove should not remove the braces in this example: +int main() { + if(true) // indent=1 + for(int i = 0; i < 3; i++) { + if(false) + continue; // indent=4 + } + else + return; // indent=2 +} + +// mod_full_brace_if = remove should not remove the braces in this example: +int main() { + if(true) { + for(int i = 0; i < 3; i++) + if(false) + continue; // indent=4 + } + else + return; // indent=2 +} + +int main() +{ + while (1) { + if (0) + break; + switch (1) { + case 1: + break; + } + } + return 0; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00051-brace-remove.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00051-brace-remove.c new file mode 100644 index 00000000..bef3e64d --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00051-brace-remove.c @@ -0,0 +1,65 @@ + +void foo(void) +{ + int a = 0; + while (a < 3) + a++; + + while (b < a) + b++; + + do + a--; + while (a > 0); + + for (a = 0; a < 10; a++) + printf("a=%d\n", a); + + if (a == 10) + printf("a looks good\n"); + + if (state == ST_RUN) + if ((foo < bar) && + (bar > foo2)) + if (a < 5) + a *= a; + + while (*ptr++ != ',') + { + } +} + +// mod_full_brace_for = remove should not remove the braces in this example: +int main() { + if(true) // indent=1 + for(int i = 0; i < 3; i++) { + if(false) + continue; // indent=4 + } + else + return; // indent=2 +} + +// mod_full_brace_if = remove should not remove the braces in this example: +int main() { + if(true) { + for(int i = 0; i < 3; i++) + if(false) + continue; // indent=4 + } + else + return; // indent=2 +} + +int main() +{ + while (1) { + if (0) + break; + switch (1) { + case 1: + break; + } + } + return 0; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00052-brace-remove2.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00052-brace-remove2.c new file mode 100644 index 00000000..30f352c6 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00052-brace-remove2.c @@ -0,0 +1,43 @@ +/* else is tied to if(two) */ +int main() { + if (one) { + if (two) + sleep (1); + else + sleep (2); + } + + if (three) + sleep(1); + else if (four) + sleep(2); +} + +/* else is tied to if(one) */ +int main() { + if (one) { + if (two) + sleep (1); + } + else if (three) + sleep (2); +} + +/* else.1 is tied to if(two), else.2 is tied to if(one) */ +int main() { + if (one) { + if (two) + sleep (1); + else if (three) + sleep (2); + } + else + sleep (3); +} +int main() { + + if (read_write == I2C_SMBUS_READ) + msg[1].len = I2C_SMBUS_I2C_BLOCK_MAX; + else + msg[0].len = data->block[0] + 1; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00053-brace.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00053-brace.c new file mode 100644 index 00000000..55c45a57 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00053-brace.c @@ -0,0 +1,18 @@ +
+
+
+int function (int arg)
+{
+ int i;
+
+ for (i = 0; i < 5; i++)
+ {
+ /* Do something... */
+ }
+ if (i < 0)
+ {
+ /*Do something else...*/
+ }
+
+ return (0);
+}
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00054-if_chain.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00054-if_chain.c new file mode 100644 index 00000000..a6e0c561 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00054-if_chain.c @@ -0,0 +1,79 @@ +void foo(void) +{ + if (cond_a) { + fcn_a(); + fcn_b(); + } else { + fcn_c(); + } + + if (cond_b) + fcn_d(); + else + fcn_e(); + + if (cond_c) { + fcn_f(); + fcn_g(); + } else { + fcn_h(); + } + + if (cond_d) { + fcn_i(); + } else { + fcn_j(); + fcn_k(); + } + + if (cond_e) + fcn_l(); + else + fcn_m(); + + if (cond_f) { + fcn_n(); + } else if (cond_g) { + fcn_o(); + while (cond_g) + fcn_p(); + } else if (cond_h) { + while (cond_i) { + fcn_q(); + fcn_r(); + } + } else { + fcn_s(); + } +} + +/* this next bit test whether vbraces can be successfully converted + * when the closing brace is in an #ifdef. + * Note that the author should have braced the code to begin with. + */ +void bar(void) +{ + if (jiffies >= hw_priv->Counter[ port ].time) { + hw_priv->Counter[ port ].fRead = 1; + if (port == MAIN_PORT) + hw_priv->Counter[ MAIN_PORT ].time = jiffies + HZ * 6; + else + hw_priv->Counter[ port ].time = + +#ifdef SOME_DEFINE + hw_priv->Counter[ port - 1 ].time + HZ * 2; + +#else /* ifdef SOME_DEFINE */ + hw_priv->Counter[ MAIN_PORT ].time + HZ * 2; +#endif /* ifdef SOME_DEFINE */ + } +} + +void funct(int v1, int v2, int v3) +{ + if (v1) { + if (v2) f1(); + } else { + if (v3) f2(); + } +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00055-braces-2.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00055-braces-2.c new file mode 100644 index 00000000..38447f86 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00055-braces-2.c @@ -0,0 +1,16 @@ +while (a >= 0) +{ + if (b) + { + for (j = 0; j < 10; j++) + { + if (j == b) + { + return; + } + a++; + } + } + b--; +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00056-brace-remove3.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00056-brace-remove3.c new file mode 100644 index 00000000..258ca555 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00056-brace-remove3.c @@ -0,0 +1,30 @@ +void foo() +{ + if(myBoolean) { +#ifdef DEBUG + printf("ACK"); +#endif + } + return true; +} + +void foo2() +{ + if (m_errno == ERR_NONE) { + function1(variables); + function2(variables); + } else + function1(varialbes); + //MyComment1 + //MyComment2 +} + +void foo3() +{ + if (statment) + if (statment) { + condition; + return true; + } + return false; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00057-brace-remove3.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00057-brace-remove3.c new file mode 100644 index 00000000..26b22e2c --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00057-brace-remove3.c @@ -0,0 +1,32 @@ +void foo() +{ + if (myBoolean) { +#ifdef DEBUG + printf("ACK"); +#endif + } + return true; +} + +void foo2() +{ + if (m_errno == ERR_NONE) { + function1(variables); + function2(variables); + } else { + function1(varialbes); + } + //MyComment1 + //MyComment2 +} + +void foo3() +{ + if (statment) { + if (statment) { + condition; + return true; + } + } + return false; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00058-if_chain.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00058-if_chain.c new file mode 100644 index 00000000..ba15dc8e --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00058-if_chain.c @@ -0,0 +1,69 @@ +void foo(void) +{ + if (cond_a) { + fcn_a(); fcn_b(); + } else { + fcn_c(); + } if (cond_b) { + fcn_d(); + } else { + fcn_e(); + } if (cond_c) { + fcn_f(); fcn_g(); + } else { + fcn_h(); + } if (cond_d) { + fcn_i(); + } else { + fcn_j(); fcn_k(); + } if (cond_e) { + fcn_l(); + } else { + fcn_m(); + } if (cond_f) { + fcn_n(); + } else if (cond_g) { + fcn_o(); while (cond_g) { + fcn_p(); + } + } else if (cond_h) { + while (cond_i) { + fcn_q(); fcn_r(); + } + } else { + fcn_s(); + } +} +/* this next bit test whether vbraces can be successfully converted + * when the closing brace is in an #ifdef. + * Note that the author should have braced the code to begin with. + */ +void bar(void) +{ + if (jiffies >= hw_priv->Counter[ port ].time) { + hw_priv->Counter[ port ].fRead = 1; if (port == MAIN_PORT) { + hw_priv->Counter[ MAIN_PORT ].time = jiffies + HZ * 6; + } else { + hw_priv->Counter[ port ].time = + +#ifdef SOME_DEFINE + hw_priv->Counter[ port - 1 ].time + HZ * 2; + } + +#else /* ifdef SOME_DEFINE */ + hw_priv->Counter[ MAIN_PORT ].time + HZ * 2; +#endif /* ifdef SOME_DEFINE */ + } +} +void funct(int v1, int v2, int v3) +{ + if ( v1 ) { + if ( v2 ) { + f1(); + } + } else { + if ( v3 ) { + f2(); + } + } +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00060-braces-2.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00060-braces-2.c new file mode 100644 index 00000000..38447f86 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00060-braces-2.c @@ -0,0 +1,16 @@ +while (a >= 0) +{ + if (b) + { + for (j = 0; j < 10; j++) + { + if (j == b) + { + return; + } + a++; + } + } + b--; +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00061-braces-3.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00061-braces-3.c new file mode 100644 index 00000000..18784b82 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00061-braces-3.c @@ -0,0 +1,12 @@ +{ + list_for_each(k) + { + if (a) + { + if (b) + { + c++; + } + } + } +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00062-braces-4.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00062-braces-4.c new file mode 100644 index 00000000..05c0d9b5 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00062-braces-4.c @@ -0,0 +1,16 @@ +int foo(int bar) +{ +#ifndef CONFIG_1 + bar -= 3; +#else + for (j = 0; j < NR_CPUS; j++) + { + if (cpu_online(j)) + { + bar++; + } + } +#endif + return(0); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00065-braces-5.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00065-braces-5.c new file mode 100644 index 00000000..6e1e6cab --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00065-braces-5.c @@ -0,0 +1,23 @@ +/** + * this is a really tough case - perhaps we shouldn't keep any #if crap + * unless they all end with the same stack? + */ +void foo(void) +{ + int a; + +#ifdef CONFIG_BLK_DEV_INITRD + if (initrd_start) + { + ROOT_DEV = Root_RAM0; + } +#elif defined (CONFIG_ROOT_NFS) + ROOT_DEV = Root_NFS; +#elif defined (CONFIG_BLK_DEV_IDEDISK) + ROOT_DEV = Root_HDA1; +#else + ROOT_DEV = Root_SDA1; +#endif + return; +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00066-vb-while.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00066-vb-while.c new file mode 100644 index 00000000..c189b7b7 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00066-vb-while.c @@ -0,0 +1,52 @@ +unsigned long xdl_adler32(unsigned long adler, unsigned char const *buf, + unsigned int len) +{ + int k; + unsigned long s1 = adler & 0xffff; + unsigned long s2 = (adler >> 16) & 0xffff; + + if (!buf) + { + return(1); + } + + while (len > 0) + { + k = len < NMAX ? len : NMAX; + len -= k; + while (k >= 16) + { + DO16(buf); + buf += 16; + k -= 16; + } + if (k != 0) + { + do + { + s1 += *buf++; + s2 += s1; + } while (--k); + } + s1 %= BASE; + s2 %= BASE; + } + + return((s2 << 16) | s1); +} + +void f() +{ + while (1) + { + if (2) + { + 3; + } + else + { + 4; + } + } +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00067-vb-do.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00067-vb-do.c new file mode 100644 index 00000000..79c6dedf --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00067-vb-do.c @@ -0,0 +1,29 @@ + +struct beef a = +{ + 1, 2, 3 +}; + +void get_name(void) +{ + int _ = 3; + + do + { + a--; + } while (a); + + while (a) //something + { + a--; + } + + do + { + while (a) //something + { + a--; + } + } while (b--); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00068-bsnl.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00068-bsnl.c new file mode 100644 index 00000000..310e0eb2 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00068-bsnl.c @@ -0,0 +1,5 @@ +#define SOME_MACRO \ + bool has_err; \ + bool is_comp; \ + struct some_stream ostream + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00069-vb-pp.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00069-vb-pp.c new file mode 100644 index 00000000..9fb79a06 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00069-vb-pp.c @@ -0,0 +1,49 @@ + +void f() +{ + if (0) +#pragma omp atomic + { + i++; + } +} + + +void f() +{ + if (0) +#if foo + { + i++; + } +#else + { + i += 2; + } +#endif +} + +void f() +{ + while (108) + { + if (42) +#pragma omp critical + { } + if (23) +#pragma omp critical + { + ++i; + } + while (16) + { + } + int i = 15; + if (8) +#pragma omp atomic + { + i += 4; + } + } +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00070-return-multi.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00070-return-multi.c new file mode 100644 index 00000000..d351cdb0 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00070-return-multi.c @@ -0,0 +1,47 @@ + +static inline long +get_tv32(struct timeval *o, struct timeval32 __user *i) +{ + return(!access_ok(VERIFY_READ, i, sizeof(*i)) || + (__get_user(o->tv_sec, &i->tv_sec) | + __get_user(o->tv_usec, &i->tv_usec))); +} + +static inline long +get_tv32(struct timeval *o, struct timeval32 __user *i) +{ + return(!access_ok(VERIFY_READ, i, sizeof(*i)) || + (__get_user(o->tv_sec, &i->tv_sec) | + __get_user(o->tv_usec, &i->tv_usec))); +} + +const char * +dcrp_license_feature(int32_t idx) +{ +#define FEATURESTR(f) \ +case DCRMIB_LICENSE_ ## f: \ + return(DCRP_LICENSE_FEATURE_ ## f ## _STR) + + switch (idx) + { + DCRP_LICENSE_FOREACH_FEATURES(FEATURESTR); + } + + return(""); +} + + +static int +isValidLicenseType(int32_t idx) +{ +#define CHECKFEATURE(f) \ +case DCRMIB_LICENSE_ ## f: \ + return(1) + + switch (idx) + { + DCRP_LICENSE_FOREACH_FEATURES(CHECKFEATURE); + } + + return(n * foo(5)); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00071-include_define.h b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00071-include_define.h new file mode 100644 index 00000000..89f11e5a --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00071-include_define.h @@ -0,0 +1,5 @@ +#define MY_HEADER <foo/inc.h> + +#include MY_HEADER + + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00072-align-proto.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00072-align-proto.c new file mode 100644 index 00000000..15746cd9 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00072-align-proto.c @@ -0,0 +1,4 @@ +unsigned int align_here(); +int this_works(int x); +int bug(int); // BUG: left-aligned + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00073-nl_proto_endif.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00073-nl_proto_endif.c new file mode 100644 index 00000000..f50766b8 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00073-nl_proto_endif.c @@ -0,0 +1,10 @@ + +#include <stdio.h> + +static void status_cb(status_t *status); +static int add_conn(const char *path); + +#ifdef USE_FOO_CMD +static void foo_cmd(void *user, const info_t *info); +#endif + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00074-clang-has_include.h b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00074-clang-has_include.h new file mode 100644 index 00000000..976de29d --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00074-clang-has_include.h @@ -0,0 +1,6 @@ +#if __has_include(<tr1/unordered_set>) +#include <tr1/unordered_set> +#endif +#if __has_include("unordered_set.h") || __has_include_next(<tr1/unordered_set>) +#include <tr1/unordered_set> +#endif diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00076-1225.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00076-1225.c new file mode 100644 index 00000000..5b51cf3c --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00076-1225.c @@ -0,0 +1,6 @@ +float ign_guy(){} +a alig_guy(){} +int align_guy(){} +unsigned int align_here(); +int this_works(int x); +int bug(int); diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00081-else-if.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00081-else-if.c new file mode 100644 index 00000000..ff5f5b21 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00081-else-if.c @@ -0,0 +1,28 @@ +int test (int A, int B) { + + int C; + + if (A == 0) + if (B == 0) + C = 1; + else if (B == 1) + C = 2; + else + C = 3; + else if (A == 1) + if (B == 0) + C = 4; + else if (B == 1) + C = 5; + else + C = 6; + else if (B == 0) + C = 7; + else if (B == 1) + C = 8; + else + C = 9; + + return C; +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00082-else-if.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00082-else-if.c new file mode 100644 index 00000000..06cc37f2 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00082-else-if.c @@ -0,0 +1,29 @@ +int test (int A, int B) { + + int C; + + if (A == 0) + if (B == 0) + C = 1; + else if (B == 1) + C = 2; + else + C = 3; + else if (A == 1) + if (B == 0) + C = 4; + else if (B == 1) + C = 5; + else + C = 6; + else + if (B == 0) + C = 7; + else if (B == 1) + C = 8; + else + C = 9; + + return C; +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00091-cond.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00091-cond.c new file mode 100644 index 00000000..840d4a6c --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00091-cond.c @@ -0,0 +1,10 @@ + +int foo1(bool b, int tv, int fv) +{ + return b ? tv : fv; +} + +int foo2(bool b, int tv, int fv) +{ + return b ? tv : fv; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00092-cond.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00092-cond.c new file mode 100644 index 00000000..a718a48b --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00092-cond.c @@ -0,0 +1,10 @@ + +int foo1(bool b, int tv, int fv) +{ + return b ? tv : fv; +} + +int foo2(bool b, int tv, int fv) +{ + return b ? tv : fv; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00093-cond.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00093-cond.c new file mode 100644 index 00000000..8d55652a --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00093-cond.c @@ -0,0 +1,10 @@ + +int foo1(bool b, int tv, int fv) +{ + return(b? tv: fv); +} + +int foo2(bool b, int tv, int fv) +{ + return(b? tv: fv); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00101-bugs-1.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00101-bugs-1.c new file mode 100644 index 00000000..abc2e08e --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00101-bugs-1.c @@ -0,0 +1,69 @@ +int oldfoo(bar) +char bar; +{ + return(bar - 2); +} + +int i2c_use_client(struct i2c_client *client) +{ + int ret; + + ret = i2c_inc_use_client(client); + if (ret) + { + return(ret); + } + + if ((client->flags & I2C_CLIENT_ALLOW_USE) || (a && + something_else)) + { + if (client->flags & I2C_CLIENT_ALLOW_MULTIPLE_USE) + { + client->usage_count++; + } + else if (client->usage_count > 0) + { + goto busy; + } + else + { + client->usage_count++; + } + } + + return(0); + + busy: + i2c_dec_use_client(client); + return(-EBUSY); +} + +void get_name(void) +{ + a = (int)5; + + if (a) + { + if (b) + { + b--; + } + else + { + a++; + } + } + for (a = 0; a < 10; a++) + { + if (b) + { + b--; + } + else + { + a++; + } + } + return; +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00102-bugs-2.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00102-bugs-2.c new file mode 100644 index 00000000..42bed259 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00102-bugs-2.c @@ -0,0 +1,22 @@ +static void tcps_proc_server_msg(void *p_user, const ptc_msg_info_t *p_info) +{ + if (z) + { + if (a) + /* comment */ + { + a++; + } + /* comment */ + else if (b) + { + b++; + } + /* Comment */ + else + { + c++; + } + } +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00103-bugs-3.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00103-bugs-3.c new file mode 100644 index 00000000..07d410b1 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00103-bugs-3.c @@ -0,0 +1,49 @@ + +#ifdef CRUD +#define JUNK a +#endif + +#ifdef __QNX__ +/** + * Does all that QNX trickery to get the MAC address of the interface + * + * @param if_name The interface name: ie "en0" or "eth0" + * @param mac Pointer to a 6-byte array + * @return SUCCESS or FAILURE + */ +static INT32 socket_get_mac_qnx(const CHAR *if_name, UINT8 *mac) +{ + CHAR ionet_name[50]; + INT32 en_fd; + +#if QNX_RELEASE >= 630 + nic_config_t nic; + INT32 dcmd = DCMD_IO_NET_GET_CONFIG; +#else + Nic_t nic; + INT32 dcmd = DCMD_IO_NET_NICINFO; +#endif + INT32 ret_val = FAILURE; + + memset(mac, 0, 6); + + /* Build the full name */ + snprintf(ionet_name, sizeof(ionet_name), "/dev/io-net/%s", if_name); + + /* Open the device */ + en_fd = open(ionet_name, O_RDWR); + if (en_fd >= 0) + { + /* Get the interface info */ + if (devctl(en_fd, dcmd, &nic, sizeof(nic), NULL) == EOK) + { + memcpy(mac, nic.current_address, 6); + ret_val = SUCCESS; + } + + close(en_fd); + } + return(ret_val); +} +#endif + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00104-bugs-4.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00104-bugs-4.c new file mode 100644 index 00000000..61885443 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00104-bugs-4.c @@ -0,0 +1,26 @@ + +static void set_md_connected(CHAR *msg_data) +{ + UINT32 rd_idx = 0; + CHAR mobile_device_id[MOBILE_DEVICE_NAME_LEN]; + CHAR ip_addr[IP_ADDRESS_LEN]; + CHAR mac_addr[MAC_ADDR_LEN]; + CHAR ap_name[AP_NAME_LEN]; + + rdc_strz(msg_data, MAX_SIZE, &rd_idx, mobile_device_id, 0); + rdc_strz(msg_data, MAX_SIZE, &rd_idx, ip_addr, 0); + rdc_strz(msg_data, MAX_SIZE, &rd_idx, mac_addr, 0); + rdc_strz(msg_data, MAX_SIZE, &rd_idx, ap_name, 0); + +#if defined (DB_MGR_ORACLE) + (void)db_set_md_connected(mobile_device_id, ip_addr, mac_addr, ap_name); + LOG(LFTR, "CONNECTED Loco %s, IP Addr %s,MAC Addr %s, AP Name %s", + mobile_device_id, ip_addr, mac_addr, ap_name); +#elif defined (DB_MGR_FILE) + LOG(LFTR, "%s CONNECTED Loco %s, IP Addr %s,MAC Addr %s, AP Name %s", + status_str, mobile_device_id, ip_addr, mac_addr, ap_name); +#else +#error Unknown device type must be DB_MGR_ORACLE or DB_MGR_FILE +#endif +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00105-bugs-5.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00105-bugs-5.c new file mode 100644 index 00000000..72bfbe4d --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00105-bugs-5.c @@ -0,0 +1,12 @@ + +static void log_roll_file(log_output_t *plo) +{ + INT32 retcode; + const CHAR *name_save; + const CHAR *name_temp; + + if (plo->pfile != NULL) + { + } +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00106-bugs-6.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00106-bugs-6.c new file mode 100644 index 00000000..302c2328 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00106-bugs-6.c @@ -0,0 +1,19 @@ +/*=-------------------------------------------------------------------------=*\ +* +| FUNCTION NAME: mult2 +| +| DESCRIPTION: +| Multiplies a number by two. +| +| INPUTS/OUTPUTS: +| val - the number to double +| +| RETURNS: +| val * 2 +* +\*=-------------------------------------------------------------------------=*/ +int mult2(int val) +{ + return(val * 2); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00107-bugs-7.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00107-bugs-7.c new file mode 100644 index 00000000..34fc146e --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00107-bugs-7.c @@ -0,0 +1,25 @@ + +struct somestruct * +mult2(int val); + +somestruct * +dumb_func(int val); + + + +struct somestruct * +mult2(int val) +{ + int a; + + a = val + (foo * bar); + + a = val + (bar); + + a = val + (CFoo::bar_t)7; + + a = val + (myfoo.size); + + return(NULL); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00108-bugs-8.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00108-bugs-8.c new file mode 100644 index 00000000..0eae4dff --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00108-bugs-8.c @@ -0,0 +1,7 @@ + +void foo(void) +{ + p[0].x = x + (rx * cos(rs)); + p[0].y = y - (ry * sin(rs)); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00110-misc.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00110-misc.c new file mode 100644 index 00000000..fdca271b --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00110-misc.c @@ -0,0 +1,42 @@ +/********************/ +/* Before Unrustify */ +/********************/ + +#define MACRO(cond, action) if ((cond)) (action) + +void hurz(murks) +{ + if (murks = 4) // This comment belongs to (murks = 4) + { + schrott(); // And this to schrott() + } +#ifdef SCHNIEPEL + else if (murks = 6) // This comment belongs to (murks = 6) + // I had to write more comment than one line + // so I inserted some comment only blocks + { + schniepel(); + } +#endif // SCHNIEPEL + else + { + flursen(); + } + + if (murks = 4) // This comment belongs to (murks = 4) +#ifdef FOO + { + foo(); + } +#else + { + bar(); + } +#endif + if (murks = 4) // This comment belongs to (murks = 4) + { + schrott(); // And this to schrott() + } + return; +} // hurz() + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00111-misc.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00111-misc.c new file mode 100644 index 00000000..ad40a4ea --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00111-misc.c @@ -0,0 +1,38 @@ +/********************/ +/* Before Unrustify */ +/********************/ + +#define MACRO( cond, action ) if ((cond)) (action) + +void hurz(murks) +{ + if (murks = 4) { // This comment belongs to (murks = 4) + schrott(); // And this to schrott() + } +#ifdef SCHNIEPEL + else if (murks = 6) { // This comment belongs to (murks = 6) + // I had to write more comment than one line + // so I inserted some comment only blocks + schniepel(); + } +#endif // SCHNIEPEL + else { + flursen(); + } + + if (murks = 4) // This comment belongs to (murks = 4) +#ifdef FOO + { + foo(); + } +#else + { + bar(); + } +#endif + if (murks = 4) { // This comment belongs to (murks = 4) + schrott(); // And this to schrott() + } + return; +} // hurz() + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00120-sp_cmt_cpp_start.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00120-sp_cmt_cpp_start.c new file mode 100644 index 00000000..74a333c5 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00120-sp_cmt_cpp_start.c @@ -0,0 +1,11 @@ + +//zero +//one +//two +//three +void foo(void); + +////four +//// five +//// six +void bar(void); diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00121-sp_cmt_cpp_start.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00121-sp_cmt_cpp_start.c new file mode 100644 index 00000000..3160a288 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00121-sp_cmt_cpp_start.c @@ -0,0 +1,11 @@ + +// zero +// one +// two +// three +void foo(void); + +////four +//// five +//// six +void bar(void); diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00122-sp_cmt_cpp_start.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00122-sp_cmt_cpp_start.c new file mode 100644 index 00000000..fe237c5a --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00122-sp_cmt_cpp_start.c @@ -0,0 +1,11 @@ + +// zero +// one +// two +// three +void foo(void); + +////four +//// five +//// six +void bar(void); diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00130-minus-minus.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00130-minus-minus.c new file mode 100644 index 00000000..debe70a8 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00130-minus-minus.c @@ -0,0 +1,33 @@ +int a = 5; +int *b = &a; +int negneg(void) +{ + return(- -a); +} + +int pospos(void) +{ + return(+ +a); +} + +int negpos(void) +{ + return(- +a); +} + +int posneg(void) +{ + return(+ -a); +} + +#if VERSION < -5 +int negnegneg(void) +{ + return(- - -a); +} +#else +int negat(void) +{ + return(-*b); +} +#endif diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00135-br_cmt.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00135-br_cmt.c new file mode 100644 index 00000000..9e6c6de9 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00135-br_cmt.c @@ -0,0 +1,14 @@ +int main() +{ + if( foo == bar ) + { /* this works */ + a; + }else + if( ranz != bar ) + { /* this works too */ + b; + }else + { /* this is broken */ + c; + } +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00140-global-vars.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00140-global-vars.c new file mode 100644 index 00000000..0df79336 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00140-global-vars.c @@ -0,0 +1,7 @@ + +static int another_try; +struct something yup; +align_me_t please; +const char *name = "hello"; +static nothing really; + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00141-deref.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00141-deref.c new file mode 100644 index 00000000..a7ad3f5e --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00141-deref.c @@ -0,0 +1,13 @@ +void foo(int *pA, int *pB) +{ + *pB = some.arr[*pA]; + + foo(sizeof bar / sizeof *bar, baz); +} + +#define MEM_READ_BYTE(phwi, addr, data) \ + *data = *((PUCHAR)((phwi)->m_pVirtualMemory + addr)) + +#define MEM_WRITE_BYTE(phwi, addr, data) \ + *((PUCHAR)((phwi)->m_pVirtualMemory + addr)) = (UCHAR)(data) + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00142-type-cast.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00142-type-cast.c new file mode 100644 index 00000000..93076825 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00142-type-cast.c @@ -0,0 +1,15 @@ + +void foo(void) +{ + drab bar; + + bar = (bat) * r; + bar = (int)*r; + bar = (UINT8)*r; + bar = (time_t)*r; + + a = &arg[dog * 13]; + b = arg[dog * cat]; + hc = "0123456789ABCDEF"[0xf & *val]; +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00143-t3.in.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00143-t3.in.c new file mode 100644 index 00000000..b40fbd17 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00143-t3.in.c @@ -0,0 +1,10 @@ +extern /*@observer@*/ /*@null@*/ const dcroid_t *dcrp_oidget +( + /*@in@*/ const char *h, + /*@in@*/ const char *t +) /*@ensures maxRead(result) >= 0@*/; + +extern /*@observer@*/ const char *dcrp_oidlabel +( + /*@in@*/ const dcroid_t *oid +); diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00144-align-proto-vars.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00144-align-proto-vars.c new file mode 100644 index 00000000..c7bf6081 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00144-align-proto-vars.c @@ -0,0 +1,12 @@ +int doStuff(int i, + float f); + +int doStuff(int i, + float f); + + +MACRO_MODIFIER int doStuff(int i, + float f); + +typedef void (*my_callback)(int id, + void *context); diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00145-vardefcol.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00145-vardefcol.c new file mode 100644 index 00000000..1238be0d --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00145-vardefcol.c @@ -0,0 +1,14 @@ +static string foo, + bar; + +void f() +{ + SomeNamedType *var1, + *var2; +} + +void b() +{ + AnotherType var1, + var2; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00150-casts.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00150-casts.c new file mode 100644 index 00000000..d89ad598 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00150-casts.c @@ -0,0 +1,89 @@ + +#define SOME_VAL1 ((MYINT)-1) +#define SOME_VAL2 (-2) +#define SOME_VAL3 -3 +#define MULT(X, Y) (X)*(Y) +#define SOME_JUNK /*lint -e123 */ (const mytype *)-1 + +typedef (*my_fcn_ptr_t)(char *, int); +typedef (my_fcn_t)(char *, int); + +void foo(void) +{ + uint crc = crc32_calc_full((const UINT8 *)"String", 6); + + crc = crc32_calc_full((const UINT8 *)&crc, sizeof(crc)); + + a = (b) - 4; + + a = (UINT)-4; + a = (UINT)+4; + a = (UINT) * 4; + a = (UINT) & 4; + + a = (uint32_t)-pb; + a = (uint32_t) + pb; + a = (uint32_t)*pb; + a = (uint32_t)&pb; + + a = (Uint) - 4; + a = (Uint) + 4; + a = (Uint) * 4; + a = (Uint) & 4; + + a = b * (int)flt; + a = b * ((int)flt); + + a = b * (int)flt; + a = b * (INT8)flt; + a = b * (Uint)flt; + + a = *(int)&b; + a = *(CHAR)&b; + a = *(Uint) & b; + + a = (int)*pb; + a = (CHAR)*pb; + a = (Uint) * pb; + + a = (int)'a'; + a = (UINT8)'a'; + a = (Uint)'a'; + + a = (int)*'a'; + a = (UINT8) * 'a'; + a = (Uint) * 'a'; + + a = (int)*5; + a = (UINT) * 5; + a = (Uint) * 5; + + a = (int)*ape; + a = (UINT)*ape; + a = (Uint) * ape; + + a = (int)ape; + a = (UINT)ape; + a = (Uint)ape; + + a = (int)sizeof(x); + a = (INT16)sizeof(x); + a = (Uint)sizeof(x); + + a = (int)foo(x); + a = (CHAR)foo(x); + a = (Uint)foo(x); + + a = (int)(x); + a = (CHAR)(x); + a = (Uint)(x); + + a = (int)*(x); + a = (CHAR)*(x); + a = (Uint) * (x); + + a = (unsigned int)(1 + 4); + a = (int)(1 + 1); + a = (void *)(&str); +} /* foo */ + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00151-casts.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00151-casts.c new file mode 100644 index 00000000..9f2a13de --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00151-casts.c @@ -0,0 +1,89 @@ + +#define SOME_VAL1 ((MYINT)-1) +#define SOME_VAL2 (-2) +#define SOME_VAL3 -3 +#define MULT(X, Y) (X)*(Y) +#define SOME_JUNK /*lint -e123 */ (const mytype *)-1 + +typedef (*my_fcn_ptr_t)(char *, int); +typedef (my_fcn_t)(char *, int); + +void foo(void) +{ + uint crc = crc32_calc_full((const UINT8 *)"String", 6); + + crc = crc32_calc_full((const UINT8 *)&crc, sizeof(crc)); + + a = (b) - 4; + + a = (UINT)-4; + a = (UINT)+4; + a = (UINT) * 4; + a = (UINT) & 4; + + a = (uint32_t)-pb; + a = (uint32_t) + pb; + a = (uint32_t)*pb; + a = (uint32_t)&pb; + + a = (Uint) - 4; + a = (Uint) + 4; + a = (Uint) * 4; + a = (Uint) & 4; + + a = b * (int)flt; + a = b * ((int)flt); + + a = b * (int)flt; + a = b * (INT8)flt; + a = b * (Uint)flt; + + a = *(int)&b; + a = *(CHAR)&b; + a = *(Uint) & b; + + a = (int)*pb; + a = (CHAR)*pb; + a = (Uint) * pb; + + a = (int)'a'; + a = (UINT8)'a'; + a = (Uint)'a'; + + a = (int)*'a'; + a = (UINT8) * 'a'; + a = (Uint) * 'a'; + + a = (int)*5; + a = (UINT) * 5; + a = (Uint) * 5; + + a = (int)*ape; + a = (UINT)*ape; + a = (Uint) * ape; + + a = (int)ape; + a = (UINT)ape; + a = (Uint)ape; + + a = (int)sizeof(x); + a = (INT16)sizeof(x); + a = (Uint)sizeof(x); + + a = (int)foo(x); + a = (CHAR)foo(x); + a = (Uint)foo(x); + + a = (int)(x); + a = (CHAR)(x); + a = (Uint)(x); + + a = (int)*(x); + a = (CHAR)*(x); + a = (Uint) * (x); + + a = (unsigned int)(1 + 4); + a = (int)(1 + 1); + a = (void *)(&str); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00152-casts.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00152-casts.c new file mode 100644 index 00000000..acc2ebe4 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00152-casts.c @@ -0,0 +1,89 @@ + +#define SOME_VAL1 (( MYINT )-1) +#define SOME_VAL2 (-2) +#define SOME_VAL3 -3 +#define MULT(X, Y) ( X )*(Y) +#define SOME_JUNK /*lint -e123 */ ( const mytype * )-1 + +typedef (*my_fcn_ptr_t)(char *, int); +typedef (my_fcn_t)(char *, int); + +void foo(void) +{ + uint crc = crc32_calc_full(( const UINT8 * )"String", 6); + + crc = crc32_calc_full(( const UINT8 * )&crc, sizeof(crc)); + + a = (b) - 4; + + a = ( UINT )-4; + a = ( UINT )+4; + a = (UINT) * 4; + a = (UINT) & 4; + + a = ( uint32_t )-pb; + a = (uint32_t) + pb; + a = ( uint32_t )*pb; + a = ( uint32_t )&pb; + + a = (Uint) - 4; + a = (Uint) + 4; + a = (Uint) * 4; + a = (Uint) & 4; + + a = b * ( int )flt; + a = b * (( int )flt); + + a = b * ( int )flt; + a = b * ( INT8 )flt; + a = b * ( Uint )flt; + + a = *( int )&b; + a = *( CHAR )&b; + a = *(Uint) & b; + + a = ( int )*pb; + a = ( CHAR )*pb; + a = (Uint) * pb; + + a = ( int )'a'; + a = ( UINT8 )'a'; + a = ( Uint )'a'; + + a = ( int )*'a'; + a = (UINT8) * 'a'; + a = (Uint) * 'a'; + + a = ( int )*5; + a = (UINT) * 5; + a = (Uint) * 5; + + a = ( int )*ape; + a = ( UINT )*ape; + a = (Uint) * ape; + + a = ( int )ape; + a = ( UINT )ape; + a = ( Uint )ape; + + a = ( int )sizeof(x); + a = ( INT16 )sizeof(x); + a = ( Uint )sizeof(x); + + a = ( int )foo(x); + a = ( CHAR )foo(x); + a = ( Uint )foo(x); + + a = ( int )(x); + a = ( CHAR )(x); + a = ( Uint )(x); + + a = ( int )*(x); + a = ( CHAR )*(x); + a = (Uint) * (x); + + a = ( unsigned int )(1 + 4); + a = ( int )(1 + 1); + a = ( void * )(&str); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00153-casts.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00153-casts.c new file mode 100644 index 00000000..8bf710b6 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00153-casts.c @@ -0,0 +1,89 @@ + +#define SOME_VAL1 ((MYINT)-1) +#define SOME_VAL2 (-2) +#define SOME_VAL3 -3 +#define MULT(X, Y) (X)*(Y) +#define SOME_JUNK /*lint -e123 */ (const mytype *)-1 + +typedef (*my_fcn_ptr_t)(char *, int); +typedef (my_fcn_t)(char *, int); + +void foo(void) +{ + uint crc = crc32_calc_full((const UINT8 *)"String", 6); + + crc = crc32_calc_full((const UINT8 *)&crc, sizeof(crc)); + + a = (b) - 4; + + a = (UINT)-4; + a = (UINT)+4; + a = (UINT)*4; + a = (UINT)&4; + + a = (uint32_t)-pb; + a = (uint32_t)+pb; + a = (uint32_t)*pb; + a = (uint32_t)&pb; + + a = (Uint)-4; + a = (Uint)+4; + a = (Uint)*4; + a = (Uint)&4; + + a = b * (int)flt; + a = b * ((int)flt); + + a = b * (int)flt; + a = b * (INT8)flt; + a = b * (Uint)flt; + + a = *(int)&b; + a = *(CHAR)&b; + a = *(Uint)&b; + + a = (int)*pb; + a = (CHAR)*pb; + a = (Uint)*pb; + + a = (int)'a'; + a = (UINT8)'a'; + a = (Uint)'a'; + + a = (int)*'a'; + a = (UINT8)*'a'; + a = (Uint)*'a'; + + a = (int)*5; + a = (UINT)*5; + a = (Uint)*5; + + a = (int)*ape; + a = (UINT)*ape; + a = (Uint)*ape; + + a = (int)ape; + a = (UINT)ape; + a = (Uint)ape; + + a = (int)sizeof(x); + a = (INT16)sizeof(x); + a = (Uint)sizeof(x); + + a = (int)foo(x); + a = (CHAR)foo(x); + a = (Uint)foo(x); + + a = (int)(x); + a = (CHAR)(x); + a = (Uint)(x); + + a = (int)*(x); + a = (CHAR)*(x); + a = (Uint)*(x); + + a = (unsigned int)(1 + 4); + a = (int)(1 + 1); + a = (void *)(&str); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00154-casts.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00154-casts.c new file mode 100644 index 00000000..fca4010b --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00154-casts.c @@ -0,0 +1,89 @@ + +#define SOME_VAL1 ((MYINT) -1) +#define SOME_VAL2 (-2) +#define SOME_VAL3 -3 +#define MULT(X, Y) (X) *(Y) +#define SOME_JUNK /*lint -e123 */ (const mytype *) -1 + +typedef (*my_fcn_ptr_t)(char *, int); +typedef (my_fcn_t)(char *, int); + +void foo(void) +{ + uint crc = crc32_calc_full((const UINT8 *) "String", 6); + + crc = crc32_calc_full((const UINT8 *) &crc, sizeof(crc)); + + a = (b) - 4; + + a = (UINT) -4; + a = (UINT) +4; + a = (UINT) * 4; + a = (UINT) & 4; + + a = (uint32_t) -pb; + a = (uint32_t) + pb; + a = (uint32_t) *pb; + a = (uint32_t) &pb; + + a = (Uint) - 4; + a = (Uint) + 4; + a = (Uint) * 4; + a = (Uint) & 4; + + a = b * (int) flt; + a = b * ((int) flt); + + a = b * (int) flt; + a = b * (INT8) flt; + a = b * (Uint) flt; + + a = *(int) &b; + a = *(CHAR) &b; + a = *(Uint) & b; + + a = (int) *pb; + a = (CHAR) *pb; + a = (Uint) * pb; + + a = (int) 'a'; + a = (UINT8) 'a'; + a = (Uint) 'a'; + + a = (int) *'a'; + a = (UINT8) * 'a'; + a = (Uint) * 'a'; + + a = (int) *5; + a = (UINT) * 5; + a = (Uint) * 5; + + a = (int) *ape; + a = (UINT) *ape; + a = (Uint) * ape; + + a = (int) ape; + a = (UINT) ape; + a = (Uint) ape; + + a = (int) sizeof(x); + a = (INT16) sizeof(x); + a = (Uint) sizeof(x); + + a = (int) foo(x); + a = (CHAR) foo(x); + a = (Uint) foo(x); + + a = (int) (x); + a = (CHAR) (x); + a = (Uint) (x); + + a = (int) *(x); + a = (CHAR) *(x); + a = (Uint) * (x); + + a = (unsigned int) (1 + 4); + a = (int) (1 + 1); + a = (void *) (&str); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00155-cast_brace.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00155-cast_brace.c new file mode 100644 index 00000000..6e8f12b2 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00155-cast_brace.c @@ -0,0 +1,8 @@ +// +void disappearing_semicolon(void) +{ + r = (recordtypecast){ + a, b, c + }; //<-- + p = Table_put(t, a, &r); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00160-fcn_indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00160-fcn_indent.c new file mode 100644 index 00000000..23c173c2 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00160-fcn_indent.c @@ -0,0 +1,35 @@ +int this_is_a_function_proto(int a, + char * b); + +int this_is_a_function_def(int a, + char * b) +{ + this_is_a_function_call(a, + b); + + a = another_function_call(a, + b); + +} + +typedef const char * pu8_t; + +typedef short (*hello1)(char coolParam, + ushort *, + unsigned int anotherone); + +typedef const unsigned char * (getfcn_t)( + int idx, ulong op); + +short (*hello2)(char coolParam, + ulong *, + uchar, + unsigned int anotherone); + +const unsigned char * (*getstr) ( + int idx, + ulong op); + +short hello3 (char coolParam, + ushort *, + unsigned int anotherone); diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00161-fcn_indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00161-fcn_indent.c new file mode 100644 index 00000000..90342554 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00161-fcn_indent.c @@ -0,0 +1,36 @@ +int this_is_a_function_proto(int a, + char * b); + +int +this_is_a_function_def(int a, + char * b) +{ + this_is_a_function_call(a, + b); + + a = another_function_call(a, + b); + +} + +typedef const char * pu8_t; + +typedef short (*hello1)(char coolParam, + ushort *, + unsigned int anotherone); + +typedef const unsigned char * (getfcn_t)( + int idx, ulong op); + +short (*hello2)(char coolParam, + ulong *, + uchar, + unsigned int anotherone); + +const unsigned char * (*getstr) ( + int idx, + ulong op); + +short hello3 (char coolParam, + ushort *, + unsigned int anotherone); diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00162-fcn_indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00162-fcn_indent.c new file mode 100644 index 00000000..c8f152d3 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00162-fcn_indent.c @@ -0,0 +1,37 @@ +int +this_is_a_function_proto(int a, + char * b); + +int this_is_a_function_def(int a, + char * b) +{ + this_is_a_function_call(a, + b); + + a = another_function_call(a, + b); + +} + +typedef const char * pu8_t; + +typedef short (*hello1)(char coolParam, + ushort *, + unsigned int anotherone); + +typedef const unsigned char * (getfcn_t)( + int idx, ulong op); + +short (*hello2)(char coolParam, + ulong *, + uchar, + unsigned int anotherone); + +const unsigned char * (*getstr) ( + int idx, + ulong op); + +short +hello3 (char coolParam, + ushort *, + unsigned int anotherone); diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00163-fcn_indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00163-fcn_indent.c new file mode 100644 index 00000000..bbf36763 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00163-fcn_indent.c @@ -0,0 +1,35 @@ +int this_is_a_function_proto(int a, + char * b); + +int this_is_a_function_def(int a, + char * b) +{ + this_is_a_function_call(a, + b); + + a = another_function_call(a, + b); + +} + +typedef const char * pu8_t; + +typedef short (*hello1)(char coolParam, + ushort *, + unsigned int anotherone); + +typedef const unsigned char * (getfcn_t)( + int idx, ulong op); + +short (*hello2)(char coolParam, + ulong *, + uchar, + unsigned int anotherone); + +const unsigned char * (*getstr) ( + int idx, + ulong op); + +short hello3 (char coolParam, + ushort *, + unsigned int anotherone); diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00164-fcn_indent_func_def_col1.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00164-fcn_indent_func_def_col1.c new file mode 100644 index 00000000..c029669a --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00164-fcn_indent_func_def_col1.c @@ -0,0 +1,58 @@ +#if A + /* dfsdsdfd */ + int X; +#endif + +#if A + void func1_1(void); + +#endif + +#if A + #if A + int X1; +void func1_1(void) +{ + #if A + /* ttiti */ + if (B) + { + #if A + /* dsfdf */ + a = 5; + #endif + } + #endif +} + + int Y1; + +void func1_2(void) +{ +} + + int Z1; + #endif +#endif + +#if A + #if A + int X2; +/* fsdsfd */ +void func2_1(void) +{ + #if A + /* ttiti */ + if (B) + { + #if A + /* dsfdf */ + a = 5; + #endif + } + #endif +} + + int Y2; + #endif +#endif diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00165-sp_func_call_user_inside_fparen.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00165-sp_func_call_user_inside_fparen.c new file mode 100644 index 00000000..af30d708 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00165-sp_func_call_user_inside_fparen.c @@ -0,0 +1 @@ +USER( foo[0] ); diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00170-beautifier-off.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00170-beautifier-off.c new file mode 100644 index 00000000..351d76ff --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00170-beautifier-off.c @@ -0,0 +1,32 @@ + + +#define FOO(bar) create_a_really_long_identifier name(some_function(bar1 + bar2), bar3, bar4); + +/* *INDENT-OFF* */ + int foo[] = { + 1, 3, 5, + 3, 5, 7, + 5, 7, 9, + }; +/* *INDENT-ON* */ + +#define multilinemacro do { (x+5); } while (0); \ + printf("a multilinemacro"); \ + printf("a multilinemacro2"); + +int main(int argc, char *argv[]) +{ +/* *INDENT-OFF* */ + + int a, b; +a = 1; // stupid comment \ +b = 2; + +/* *INDENT-ON* */ + return(a+b); +} + +/* *INDENT-OFF* */ +int a; +/* *INDENT-ON* */ + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00180-lvalue.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00180-lvalue.c new file mode 100644 index 00000000..a8121da4 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00180-lvalue.c @@ -0,0 +1,5 @@ +void foo() +{ + if (c*ssize < initialCapacity) ; + if (Item* item=nextItem()) ; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00201-case.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00201-case.c new file mode 100644 index 00000000..0d004c19 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00201-case.c @@ -0,0 +1,73 @@ +void foo(void) +{ + switch(ch) + { + // handle 'a' + case 'a': + { + handle_a(); + multiline(123, + 345); + break; + } + + // handle 'b' + case 'b': + handle_b(); + multiline(123, + 345); + break; + + // handle 'c' and 'd' + case 'c': + case 'd': + // c and d are really the same thing + handle_cd(); + multiline(123, + 345); + break; + + case 'e': + { + handle_a(); + multiline(123, + 345); + } + break; + + // case1 + case (case1): + { + //do stuff + break; + } + + case (case2): + { + //do stuff + break; + } + + case (case3): + + /*do stuff*/ + break; + + case (case3): + statement(); + { + another_statement(); + } + break; + + // really should not get here + default: + handle_default(); + multiline(123, + 345); + break; + } + multiline(123, + 345); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00202-case.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00202-case.c new file mode 100644 index 00000000..d5175084 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00202-case.c @@ -0,0 +1,73 @@ +void foo(void) +{ + switch(ch) + { + // handle 'a' + case 'a': + { + handle_a(); + multiline(123, + 345); + break; + } + + // handle 'b' + case 'b': + handle_b(); + multiline(123, + 345); + break; + + // handle 'c' and 'd' + case 'c': + case 'd': + // c and d are really the same thing + handle_cd(); + multiline(123, + 345); + break; + + case 'e': + { + handle_a(); + multiline(123, + 345); + break; + } + + // case1 + case (case1): + { + //do stuff + break; + } + + case (case2): + { + //do stuff + break; + } + + case (case3): + + /*do stuff*/ + break; + + case (case3): + statement(); + { + another_statement(); + } + break; + + // really should not get here + default: + handle_default(); + multiline(123, + 345); + break; + } + multiline(123, + 345); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00203-case.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00203-case.c new file mode 100644 index 00000000..548a2a64 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00203-case.c @@ -0,0 +1,73 @@ +void foo(void) +{ + switch(ch) + { + // handle 'a' + case 'a': + { + handle_a(); + multiline(123, + 345); + break; + } + + // handle 'b' + case 'b': + handle_b(); + multiline(123, + 345); + break; + + // handle 'c' and 'd' + case 'c': + case 'd': + // c and d are really the same thing + handle_cd(); + multiline(123, + 345); + break; + + case 'e': + { + handle_a(); + multiline(123, + 345); + } + break; + + // case1 + case (case1): + { + //do stuff + break; + } + + case (case2): + { + //do stuff + break; + } + + case (case3): + + /*do stuff*/ + break; + + case (case3): + statement(); + { + another_statement(); + } + break; + + // really should not get here + default: + handle_default(); + multiline(123, + 345); + break; + } + multiline(123, + 345); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00204-bug_1718.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00204-bug_1718.c new file mode 100644 index 00000000..eaddc974 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00204-bug_1718.c @@ -0,0 +1,8 @@ +switch (code) +{ +case A: +#ifdef XXX + func(code); +#endif + break; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00205-case-nl_before_return.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00205-case-nl_before_return.c new file mode 100644 index 00000000..b650d7ab --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00205-case-nl_before_return.c @@ -0,0 +1,77 @@ +int foo(int arg) +{ + switch (arg) + { + case 0: return 1; + case 1: + return 2; + case 2: + printf("Hello world!\n"); + return 3; + case 3: + { + int a = 4; + return a; + } + case 4: + + return 5; + case 5: + printf("Hello world!\n"); + + return 6; + case 6: + { + int a = 7; + + return a; + } + case 7: /* comment */ return 8; + case 8: + /* C-style comment */ + return 9; + case 9: /* trailing comment */ + return 10; + case 10: /* trailing comment */ + /* C-style comment */ + return 11; + case 11: + // C++-style comment + return 12; + case 12: + // Multi-line + // C++-style comment + return 13; + case 13: // trailing comment + // Multi-line + // C++-style comment + return 14; + case 14: + + // Multi-line + // C++-style comment + return 15; + case 15: + + /* C-style comment */ + return 16; + case 16: + /* + * Multi-line C-style comment + */ + return 17; + case 17: + /*--------------------*/ + /* Multi-part comment */ + /*--------------------*/ + return 18; + case 18: + /*---------------------*/ + // Mixed-style comment + /*---------------------*/ + return 19; + default: + return arg++; + } + return 0; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00206-case-nl_before_return.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00206-case-nl_before_return.c new file mode 100644 index 00000000..d0b6bbbb --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00206-case-nl_before_return.c @@ -0,0 +1,80 @@ +int foo(int arg) +{ + switch (arg) + { + case 0: return 1; + case 1: + return 2; + case 2: + printf("Hello world!\n"); + + return 3; + case 3: + { + int a = 4; + + return a; + } + case 4: + + return 5; + case 5: + printf("Hello world!\n"); + + return 6; + case 6: + { + int a = 7; + + return a; + } + case 7: /* comment */ return 8; + case 8: + /* C-style comment */ + return 9; + case 9: /* trailing comment */ + return 10; + case 10: /* trailing comment */ + /* C-style comment */ + return 11; + case 11: + // C++-style comment + return 12; + case 12: + // Multi-line + // C++-style comment + return 13; + case 13: // trailing comment + // Multi-line + // C++-style comment + return 14; + case 14: + + // Multi-line + // C++-style comment + return 15; + case 15: + + /* C-style comment */ + return 16; + case 16: + /* + * Multi-line C-style comment + */ + return 17; + case 17: + /*--------------------*/ + /* Multi-part comment */ + /*--------------------*/ + return 18; + case 18: + /*---------------------*/ + // Mixed-style comment + /*---------------------*/ + return 19; + default: + return arg++; + } + + return 0; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00301-align-struct-init.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00301-align-struct-init.c new file mode 100644 index 00000000..cfa44035 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00301-align-struct-init.c @@ -0,0 +1,52 @@ + +const char *token_names[] = +{ + [CT_POUND] = "POUND", + [CT_PREPROC] = "PREPROC", + [CT_PREPROC_BODY] = "PREPROC_BODY", + [CT_PP] = "PP", + [CT_ELIPSIS] = "ELIPSIS", + [CT_NAMESPACE] = "NAMESPACE", + [CT_NEW] = "NEW", + [CT_OPERATOR] = "OPERATOR", + [CT_THROW] = "THROW", + [CT_TRY] = "TRY", + [CT_USING] = "USING", + [CT_PAREN_OPEN] = "PAREN_OPEN", +}; + + +int main(int argc, char *argv[]) +{ + struct junk a[] = + { + { "version", 0, 0, 0 }, + { "file", 1, 150, 'f' }, + { "config", 1, 0, 'c' }, + { "parsed", 25, 0, 'p' }, + { NULL, 0, 0, 0 } + }; +} + +color_t colors[] = +{ + { "red", { 255, 0, 0 } }, { "blue", { 0, 255, 0 } }, + { "green", { 0, 0, 255 } }, { "purple", { 255, 255, 0 } }, +}; + +struct foo_t bar = +{ + .name = "bar", + .age = 21 +}; + + + +struct foo_t bars[] = +{ + [0] = { .name = "bar", + .age = 21 }, + [1] = { .name = "barley", + .age = 55 }, +}; + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00302-one-liner-init.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00302-one-liner-init.c new file mode 100644 index 00000000..63c86afe --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00302-one-liner-init.c @@ -0,0 +1,48 @@ + +enum boo { FOO = 1 }; + +void foo(void) +{ + char str[123] = { 0 }; + + enum hoo { NOO = 1 }; + + strcat(str, "foo"); +} + +void f() +{ + if (bar()) + { + baz(1); + } + else + { + baz(2); + } +} + +int foo() +{ + return(0); +} + +void foo(int a, int b) +{ + if (a == b) + { + a++; + } + else + { + b++; + } + if (a == b) + { + a++; + } + else + { + b++; + } +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00303-one-liner-init.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00303-one-liner-init.c new file mode 100644 index 00000000..503eedfb --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00303-one-liner-init.c @@ -0,0 +1,48 @@ +enum boo +{ + FOO = 1 +}; + +void foo(void) +{ + char str[123] = + { + 0 + }; + + enum hoo + { + NOO = 1 + }; + + strcat(str, "foo"); +} + +void f() +{ + if (bar()) + baz(1); + else + baz(2); +} + +int foo() +{ + return 0; +} + +void foo(int a, int b) +{ + if (a == b) + { + a++; + } + else + { + b++; + } + if (a == b) + a++; + else + b++; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00304-one-liner-init.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00304-one-liner-init.c new file mode 100644 index 00000000..471aaa2d --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00304-one-liner-init.c @@ -0,0 +1,22 @@ +enum boo { FOO = 1 }; + +void foo(void) +{ + char str[123] = { 0 }; + + enum hoo { NOO = 1 }; + + strcat(str, "foo"); +} + +void f() { if (bar()) { baz(1); } else { baz(2); } } + +int foo() { return(0); } + +void foo(int a, int b) +{ + if (a == b) { a++; } + else { b++; } + if (a == b) { a++; } + else { b++; } +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00305-one-liner-define.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00305-one-liner-define.c new file mode 100644 index 00000000..99f24f5a --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00305-one-liner-define.c @@ -0,0 +1,4 @@ +// + +#define LOG_FMT(sev, args...) \ + do { foo(); } while (0) diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00310-sp_embed_comment.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00310-sp_embed_comment.c new file mode 100644 index 00000000..3dc105aa --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00310-sp_embed_comment.c @@ -0,0 +1,8 @@ +void f(); +void g(int); +void h() +{ + f(/*foo*/); + g(42 /*foo*/); + g(/*foo*/ 42); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00320-indent_first_bool_expr.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00320-indent_first_bool_expr.c new file mode 100644 index 00000000..0dcaa413 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00320-indent_first_bool_expr.c @@ -0,0 +1,53 @@ +void test(void)
+{
+ b1 = a & b
+ || c == d;
+ b2 = (a & b)
+ || c == d;
+ b3 = ( a & b
+ || c == d);
+
+
+ if ( (a == 3)
+ && (b == 2 & c)
+ || d
+ && r)
+ {
+ }
+
+
+ if ( /*test*/ a
+ || b)
+ {
+ }
+
+ if ( /*test*/ a
+ || /*truc*/ b)
+ {
+ }
+
+ if ( a/*test*/
+ || b)
+ {
+ }
+
+ if ( a
+ || /*test*/ b)
+ {
+ }
+
+ a = 3;
+ if ( (aaaaaaaaaaaaaaa == sqddqsqsdqsdqsd)
+ && ( dfdssdfsdfsdfsdfs
+ || (qsdfsdfsdfqsdfqsdfqsdsd == fsdqfsdfsdfsdf)))
+ {
+ a++;
+ }
+
+ while ( (aaaaaaaaaaaaaaa == sqddqsqsdqsdqsd)
+ && ( dfdssdfsdfsdfsdfs
+ || (qsdfsdfsdfqsdfqsdfqsdsd == fsdqfsdfsdfsdf)))
+ {
+ a++;
+ }
+}
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00401-align-equ.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00401-align-equ.c new file mode 100644 index 00000000..9b213f96 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00401-align-equ.c @@ -0,0 +1,31 @@ + +// note - set threshold to three +void foo(void) +{ + a = 1; + bb = 2; + ccc = 3; + dddd = 4; + eeeee = 5; + ffffff = 6; + + + + a = 1; + eeeeee = 5; + fffffff = 6; + + + + a = 1; + eeeee = 5; + ccc = 3; + ffffff = 6; + + + a = 1; + iiiiiiiiiiiiieeeee = 5; + ccc = 3; + ffffff = 6; +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00402-align-var.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00402-align-var.c new file mode 100644 index 00000000..d7396d46 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00402-align-var.c @@ -0,0 +1,54 @@ +struct foo1 +{ + unsigned int d_ino; + const char * d_reclen; + unsigned short d_namlen; + char d_name[1]; +}; + +struct foo2 +{ + unsigned int a : 1; + unsigned int bcd : 3; + unsigned int ef : 2; + unsigned int : 2; + + unsigned short more; + + int fields; +}; + +typedef struct +{ + bitfld a : 8; + bitfld b : 16; + bitfld : 8; +} type_t; + +struct foo { int a; char *b }; + +static int idx; +static const char ** tmp; + +static char buf[64]; +static unsigned long how_long; +// comment +static int ** tmp; +static char buf[64]; + + +void bar(int someval, + void *puser, + const char *filename, + struct willy *the_list, + int list_len) +{ + int idx; + const char ** tmp; + char buf[64]; + + unsigned long how_long; + + return(-1); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00403-align-var.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00403-align-var.c new file mode 100644 index 00000000..cb62295e --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00403-align-var.c @@ -0,0 +1,54 @@ +struct foo1 +{ + unsigned int d_ino; + const char *d_reclen; + unsigned short d_namlen; + char d_name[1]; +}; + +struct foo2 +{ + unsigned int a : 1; + unsigned int bcd : 3; + unsigned int ef : 2; + unsigned int : 2; + + unsigned short more; + + int fields; +}; + +typedef struct +{ + bitfld a : 8; + bitfld b : 16; + bitfld : 8; +} type_t; + +struct foo { int a; char *b }; + +static int idx; +static const char **tmp; + +static char buf[64]; +static unsigned long how_long; +// comment +static int **tmp; +static char buf[64]; + + +void bar(int someval, + void *puser, + const char *filename, + struct willy *the_list, + int list_len) +{ + int idx; + const char **tmp; + char buf[64]; + + unsigned long how_long; + + return(-1); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00404-align-var.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00404-align-var.c new file mode 100644 index 00000000..48af3d3c --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00404-align-var.c @@ -0,0 +1,54 @@ +struct foo1 +{ + unsigned int d_ino; + const char *d_reclen; + unsigned short d_namlen; + char d_name[1]; +}; + +struct foo2 +{ + unsigned int a : 1; + unsigned int bcd : 3; + unsigned int ef : 2; + unsigned int : 2; + + unsigned short more; + + int fields; +}; + +typedef struct +{ + bitfld a : 8; + bitfld b : 16; + bitfld : 8; +} type_t; + +struct foo { int a; char *b }; + +static int idx; +static const char **tmp; + +static char buf[64]; +static unsigned long how_long; +// comment +static int **tmp; +static char buf[64]; + + +void bar(int someval, + void *puser, + const char *filename, + struct willy *the_list, + int list_len) +{ + int idx; + const char **tmp; + char buf[64]; + + unsigned long how_long; + + return(-1); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00405-bits.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00405-bits.c new file mode 100644 index 00000000..9a5a6ceb --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00405-bits.c @@ -0,0 +1,8 @@ +struct foo +{ + unsigned long bar; + u_int ndots : 4, + nsort : 4, + : 0; +}; + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00406-bug_i_771.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00406-bug_i_771.c new file mode 100644 index 00000000..9c2b1cc2 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00406-bug_i_771.c @@ -0,0 +1,17 @@ +typedef struct Foo_s { + int a; + int *b; + float **c; + bool *******d; + FooBar ***A; + FoBar ***B; +}FooS; + +typedef struct Foo_a { + int a; + int *b; + float **c; + bool *******d; + FooBar ***A; + FoBar ***B; +}FooA; diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00411-align-typedef.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00411-align-typedef.c new file mode 100644 index 00000000..001e4a52 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00411-align-typedef.c @@ -0,0 +1,11 @@ + +typedef int MY_INT; +typedef int * MY_INTP; +typedef int (*foo_t)(void *bar); +typedef int (*somefunc_t)(void *barstool); +typedef int int8_t __attribute__((__mode__(__QI__))); +typedef int uint8_t; +typedef struct _IDirectFBSurface IDirectFBSurface; +typedef struct _IDirectFBPalette IDirectFBPalette; +typedef struct timezone *__restrict __timezone_ptr_t; + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00412-align-typedef.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00412-align-typedef.c new file mode 100644 index 00000000..001e4a52 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00412-align-typedef.c @@ -0,0 +1,11 @@ + +typedef int MY_INT; +typedef int * MY_INTP; +typedef int (*foo_t)(void *bar); +typedef int (*somefunc_t)(void *barstool); +typedef int int8_t __attribute__((__mode__(__QI__))); +typedef int uint8_t; +typedef struct _IDirectFBSurface IDirectFBSurface; +typedef struct _IDirectFBPalette IDirectFBPalette; +typedef struct timezone *__restrict __timezone_ptr_t; + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00413-align-typedef.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00413-align-typedef.c new file mode 100644 index 00000000..d5f826e5 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00413-align-typedef.c @@ -0,0 +1,11 @@ + +typedef int MY_INT; +typedef int * MY_INTP; +typedef int (*foo_t)(void *bar); +typedef int (*somefunc_t)(void *barstool); +typedef int int8_t __attribute__((__mode__(__QI__))); +typedef int uint8_t; +typedef struct _IDirectFBSurface IDirectFBSurface; +typedef struct _IDirectFBPalette IDirectFBPalette; +typedef struct timezone *__restrict __timezone_ptr_t; + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00414-align-typedef.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00414-align-typedef.c new file mode 100644 index 00000000..8e63e499 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00414-align-typedef.c @@ -0,0 +1,11 @@ + +typedef int MY_INT; +typedef int *MY_INTP; +typedef int (*foo_t)(void *bar); +typedef int (*somefunc_t)(void *barstool); +typedef int int8_t __attribute__((__mode__(__QI__))); +typedef int uint8_t; +typedef struct _IDirectFBSurface IDirectFBSurface; +typedef struct _IDirectFBPalette IDirectFBPalette; +typedef struct timezone *__restrict __timezone_ptr_t; + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00415-align_stack.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00415-align_stack.c new file mode 100644 index 00000000..507d6da2 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00415-align_stack.c @@ -0,0 +1,5 @@ +static int idx; +static const char **tmp; + +static int ** tmp; +static char buf[64]; diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00416-align_sf_call_thresh_416.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00416-align_sf_call_thresh_416.c new file mode 100644 index 00000000..36fbca84 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00416-align_sf_call_thresh_416.c @@ -0,0 +1,5 @@ +int main(int argc, char const *argv[]) +{ + align_prams( param1 + longParamToWhichLargeIndentToAlignFor, param2, param3 ); + align_prams( p4, p5, p6 ); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00417-align_sf_call_thresh_417.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00417-align_sf_call_thresh_417.c new file mode 100644 index 00000000..3047b932 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00417-align_sf_call_thresh_417.c @@ -0,0 +1,5 @@ +int main(int argc, char const *argv[]) +{ + align_prams( param1 + longParamToWhichLargeIndentToAlignFor, param2, param3 ); + align_prams( p4, p5, p6 ); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00418-align_sf_call_span_418.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00418-align_sf_call_span_418.c new file mode 100644 index 00000000..82444a2b --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00418-align_sf_call_span_418.c @@ -0,0 +1,7 @@ +int main(int argc, char const *argv[]) +{ + align_prams( param1 + param1, param2, param3 ); + + + align_prams( p4, p5, p6 ); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00419-align_sf_call_span_419.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00419-align_sf_call_span_419.c new file mode 100644 index 00000000..20b9705a --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00419-align_sf_call_span_419.c @@ -0,0 +1,7 @@ +int main(int argc, char const *argv[]) +{ + align_prams( param1 + param1, param2, param3 ); + + + align_prams( p4, p5, p6 ); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00420-Issue-2278.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00420-Issue-2278.c new file mode 100644 index 00000000..2bab88ab --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00420-Issue-2278.c @@ -0,0 +1,10 @@ +typedef int LIST_tzHEAD; +typedef int tucBOOL; +struct LIST_zNODE { int a; int b;}; +struct LIST_zzzDATA { int a; int b;}; + +int foo1( LIST_tzHEAD *pList, + tucBOOL ( *pFn )( struct LIST_zNODE *pNode, + struct LIST_zzzDATA *pListData, + void *arg1 ), + void *arg2 ); diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00421-nl_ds_struct_enum.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00421-nl_ds_struct_enum.c new file mode 100644 index 00000000..ec5bcc31 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00421-nl_ds_struct_enum.c @@ -0,0 +1,24 @@ +struct foo { + unsigned int d_ino; + + /* Comment */ + unsigned short d_reclen; + unsigned short d_namlen; + + /* Comment */ + char d_name[1]; +}; + +struct foo +{ + /* Comment */ + unsigned int d_ino; + unsigned short d_reclen; + unsigned short d_namlen; + + /* Comment */ + char d_name[1]; +}; + +struct foo { int a; char *b }; + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00422-nl_ds_struct_enum.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00422-nl_ds_struct_enum.c new file mode 100644 index 00000000..d45b2add --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00422-nl_ds_struct_enum.c @@ -0,0 +1,26 @@ +struct foo { + unsigned int d_ino; + + /* Comment */ + unsigned short d_reclen; + unsigned short d_namlen; + + /* Comment */ + char d_name[1]; + +}; + +struct foo +{ + /* Comment */ + unsigned int d_ino; + unsigned short d_reclen; + unsigned short d_namlen; + + /* Comment */ + char d_name[1]; + +}; + +struct foo { int a; char *b }; + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00423-bug_1702.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00423-bug_1702.c new file mode 100644 index 00000000..bf74c8bd --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00423-bug_1702.c @@ -0,0 +1,29 @@ +extern struct device device_list[]; +extern struct device device_list_end[]; + +static int +device_probe(struct device *dev) +{ + int err; +} + +/* ===================== */ +struct scpi_mem { + struct scpi_msg tx_msg; /**< The reply to be sent to a client. */ + struct scpi_msg rx_msg; /**< The request received from a client. */ +}; + +struct scpi_buffer { + struct scpi_mem mem; /**< Memory for the request/reply messages. */ + uint8_t client; /**< Client that should receive the reply. */ + bool busy; /**< Flag telling if this buffer is in use. */ +}; + +static void +scpi_receive_message(struct device *dev __unused, uint8_t client, uint32_t msg) +{ + struct scpi_buffer *buffer; + struct scpi_msg *rx_msg = &SCPI_MEM_AREA(client).rx_msg; + + assert(dev == scpi_msgbox); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00430-paren-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00430-paren-indent.c new file mode 100644 index 00000000..f6b148ce --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00430-paren-indent.c @@ -0,0 +1,46 @@ +static void *foo(int param1, + char *param2 + ); + + +static void *foo +( + int param1, + char *param2 +) +{ + for ( + int i = 0; + i< 10; + i++ + ) + { + bar( + arg1, + arg2 + ); + if ( ( abc < bcd ) + &&( 123 < abc ) + ) + { + none(arg1, + arg2, + arg3 + ); + } + } +} + + +void CWarningAnalyzer::SetEffect(int FilterNumber + ,bool Exclude + , int Red + , int Green + , int Blue + , bool Italic + , bool Bold + , bool Underlined + ) +{ + /* TODO */ +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00431-paren-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00431-paren-indent.c new file mode 100644 index 00000000..51a80854 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00431-paren-indent.c @@ -0,0 +1,46 @@ +static void *foo( int param1 + , char *param2 + ); + + +static void *foo +( + int param1 +, char *param2 +) +{ + for ( + int i = 0; + i< 10; + i++ + ) + { + bar( + arg1 + , arg2 + ); + if ( ( abc < bcd ) + &&( 123 < abc ) + ) + { + none( arg1 + , arg2 + , arg3 + ); + } + } +} + + +void CWarningAnalyzer::SetEffect( int FilterNumber + , bool Exclude + , int Red + , int Green + , int Blue + , bool Italic + , bool Bold + , bool Underlined + ) +{ + /* TODO */ +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00432-paren-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00432-paren-indent.c new file mode 100644 index 00000000..9ab77831 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00432-paren-indent.c @@ -0,0 +1,46 @@ +static void *foo(int param1, + char *param2 +); + + +static void *foo +( + int param1, + char *param2 +) +{ + for ( + int i = 0; + i< 10; + i++ + ) + { + bar( + arg1, + arg2 + ); + if ( ( abc < bcd ) + &&( 123 < abc ) + ) + { + none(arg1, + arg2, + arg3 + ); + } + } +} + + +void CWarningAnalyzer::SetEffect(int FilterNumber + ,bool Exclude + , int Red + , int Green + , int Blue + , bool Italic + , bool Bold + , bool Underlined +) +{ + /* TODO */ +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00440-bug_489.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00440-bug_489.c new file mode 100644 index 00000000..47a5da06 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00440-bug_489.c @@ -0,0 +1,6 @@ +#define UHI_AOA { \
+ .install = uhi_aoa_install, \
+ .enable = uhi_aoa_enable, \
+ .uninstall = uhi_aoa_uninstall, \
+ .sof_notify = NULL, \
+}
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00451-enum_gallery.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00451-enum_gallery.c new file mode 100644 index 00000000..3cb8db3c --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00451-enum_gallery.c @@ -0,0 +1,28 @@ +enum one { liner }; + +enum not { + + a, one, + + liner +}; + +enum foo { bar, baz, quux }; + +/* + * In some tests, the following line remains longer than 80 + * characters. Perhaps a bug? + */ +enum longer_enum_that { will, not, all, fit, on, one, line, as, longg, as, the, + cutoff, is, reasonable, because, this, is, a, very, + very, wide, line }; + +enum q { w, + e,r, + t, + + + y} + + +;
\ No newline at end of file diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00452-enum_gallery.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00452-enum_gallery.c new file mode 100644 index 00000000..cb235c3d --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00452-enum_gallery.c @@ -0,0 +1,61 @@ +enum one { + liner +}; + +enum not { + + a, + one, + + liner +}; + +enum foo { + bar, + baz, + quux +}; + +/* + * In some tests, the following line remains longer than 80 + * characters. Perhaps a bug? + */ +enum longer_enum_that { + will, + not, + all, + fit, + on, + one, + line, + as, + longg, + as, + the, + cutoff, + is, + reasonable, + because, + this, + is, + a, + very, + very, + wide, + line +}; + +enum q { + w, + e, + r, + t, + + + y + + +} + + +;
\ No newline at end of file diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00453-enum_gallery.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00453-enum_gallery.c new file mode 100644 index 00000000..af537d1d --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00453-enum_gallery.c @@ -0,0 +1,18 @@ +enum one { liner }; + +enum not {a, one,liner }; + +enum foo { bar, baz, quux }; + +/* + * In some tests, the following line remains longer than 80 + * characters. Perhaps a bug? + */ +enum longer_enum_that { will, not, all, fit, on, one, line, as, longg, as, the, + cutoff, is, reasonable, because, this, is, a, very, + very, wide, line }; + +enum q { w,e,r,t,y} + + +;
\ No newline at end of file diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00453-enum_gallery.rerun.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00453-enum_gallery.rerun.c new file mode 100644 index 00000000..148f1970 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00453-enum_gallery.rerun.c @@ -0,0 +1,18 @@ +enum one { liner }; + +enum not {a, one,liner }; + +enum foo { bar, baz, quux }; + +/* + * In some tests, the following line remains longer than 80 + * characters. Perhaps a bug? + */ +enum longer_enum_that { will, not, all, fit, on, one, line, as, longg, as, the, + cutoff, is, reasonable, because, this, is, a, very,very, + wide, line }; + +enum q { w,e,r,t,y} + + +;
\ No newline at end of file diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00454-enum_gallery.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00454-enum_gallery.c new file mode 100644 index 00000000..8d00cbce --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00454-enum_gallery.c @@ -0,0 +1,45 @@ +enum one { + liner +}; enum not { + a, + one, + liner +}; enum foo { + bar, + baz, + quux +}; +/* + * In some tests, the following line remains longer than 80 + * characters. Perhaps a bug? + */ +enum longer_enum_that { + will, + not, + all, + fit, + on, + one, + line, + as, + longg, + as, + the, + cutoff, + is, + reasonable, + because, + this, + is, + a, + very, + very, + wide, + line +}; enum q { + w, + e, + r, + t, + y +};
\ No newline at end of file diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00501-bool-pos.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00501-bool-pos.c new file mode 100644 index 00000000..b9d537a1 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00501-bool-pos.c @@ -0,0 +1,61 @@ +void foo(void) +{ + if ((a != 0) && + (b == 0) && + (c < 0) && (d > 0)) + { + printf("hi"); + } + + if (flag1 +#ifdef FLAG2 + || flag2 +#endif + ) + { + printf("yar"); + } + + if (flag1 && +#ifdef FLAG2 + flag2 && +#endif + flag3) + { + printf("bo"); + } + + if ((a != 0) && + (b == 0) && + (c < 0)) + { + printf("hi"); + } + + if ((a != 0) + && + (b == 0) + && + (c < 0)) + { + printf("hi"); + } + + if (!this->writeOwiFile () || // comment1 + broken () || !saveArchiveData () || /* comment2 */ + broken () || !deleteCentralArchive () || // comment3 + broken () || !copyArchivFiles () || // comment4 + broken () || !appendToPlanetDb ()) // comment5 + { + ; + } + + foobar(param1, + param2, param3, + param4); + + foobar2(param1, + param2, param3, + param4); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00502-bool-pos.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00502-bool-pos.c new file mode 100644 index 00000000..7890fcd7 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00502-bool-pos.c @@ -0,0 +1,61 @@ +void foo(void) +{ + if ((a != 0) + && (b == 0) + && (c < 0) && (d > 0)) + { + printf("hi"); + } + + if (flag1 +#ifdef FLAG2 + || flag2 +#endif + ) + { + printf("yar"); + } + + if (flag1 && +#ifdef FLAG2 + flag2 && +#endif + flag3) + { + printf("bo"); + } + + if ((a != 0) + && (b == 0) + && (c < 0)) + { + printf("hi"); + } + + if ((a != 0) + && + (b == 0) + && + (c < 0)) + { + printf("hi"); + } + + if (!this->writeOwiFile () // comment1 + || broken () || !saveArchiveData () /* comment2 */ + || broken () || !deleteCentralArchive () // comment3 + || broken () || !copyArchivFiles () // comment4 + || broken () || !appendToPlanetDb ()) // comment5 + { + ; + } + + foobar(param1 + , param2, param3 + , param4); + + foobar2(param1 + , param2, param3 + , param4); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00503-pos_compare.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00503-pos_compare.c new file mode 100644 index 00000000..cc809a09 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00503-pos_compare.c @@ -0,0 +1,11 @@ +void foo(void) +{ + if ((a_really_long_number + > another_really_long_number) + || + (some_really_long_bool + != another_really_long_bool)) + { + foo2(); + } +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00504-pos_compare.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00504-pos_compare.c new file mode 100644 index 00000000..fe16e10e --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00504-pos_compare.c @@ -0,0 +1,11 @@ +void foo(void) +{ + if ((a_really_long_number > + another_really_long_number) + || + (some_really_long_bool != + another_really_long_bool)) + { + foo2(); + } +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00505-pos_conditional.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00505-pos_conditional.c new file mode 100644 index 00000000..91f17d57 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00505-pos_conditional.c @@ -0,0 +1,14 @@ +void foo(void) +{ + // conditional colon + a = bar() ? 2 + : 3; + a = bar() ? 2 + : 3; + + // conditional question + a = bar() + ? 2 : 3; + a = bar() + ? 2 : 3; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00506-pos_conditional.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00506-pos_conditional.c new file mode 100644 index 00000000..23945656 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00506-pos_conditional.c @@ -0,0 +1,14 @@ +void foo(void) +{ + // conditional colon + a = bar() ? 2 : + 3; + a = bar() ? 2 : + 3; + + // conditional question + a = bar() ? + 2 : 3; + a = bar() ? + 2 : 3; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00510-bool-pos.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00510-bool-pos.c new file mode 100644 index 00000000..5958e3c5 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00510-bool-pos.c @@ -0,0 +1,68 @@ +void foo(void) +{ + if ((a != 0) && + (b == 0) && + (c < 0) && + (d > 0)) + { + printf("hi"); + } + + if (flag1 +#ifdef FLAG2 + || flag2 +#endif + ) + { + printf("yar"); + } + + if (flag1 && +#ifdef FLAG2 + flag2 && +#endif + flag3) + { + printf("bo"); + } + + if ((a != 0) && + (b == 0) && + (c < 0)) + { + printf("hi"); + } + + if ((a != 0) + && + (b == 0) + && + (c < 0)) + { + printf("hi"); + } + + if (!this->writeOwiFile () || // comment1 + broken () || + !saveArchiveData () || /* comment2 */ + broken () || + !deleteCentralArchive () || // comment3 + broken () || + !copyArchivFiles () || // comment4 + broken () || + !appendToPlanetDb ()) // comment5 + { + ; + } + + foobar(param1, + param2, + param3, + param4); + + foobar2(param1, + param2, + param3, + param4); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00511-bool-pos.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00511-bool-pos.c new file mode 100644 index 00000000..8f6effd8 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00511-bool-pos.c @@ -0,0 +1,68 @@ +void foo(void) +{ + if ((a != 0) + && (b == 0) + && (c < 0) + && (d > 0)) + { + printf("hi"); + } + + if (flag1 +#ifdef FLAG2 + || flag2 +#endif + ) + { + printf("yar"); + } + + if (flag1 && +#ifdef FLAG2 + flag2 && +#endif + flag3) + { + printf("bo"); + } + + if ((a != 0) + && (b == 0) + && (c < 0)) + { + printf("hi"); + } + + if ((a != 0) + && + (b == 0) + && + (c < 0)) + { + printf("hi"); + } + + if (!this->writeOwiFile () // comment1 + || broken () + || !saveArchiveData () /* comment2 */ + || broken () + || !deleteCentralArchive () // comment3 + || broken () + || !copyArchivFiles () // comment4 + || broken () + || !appendToPlanetDb ()) // comment5 + { + ; + } + + foobar(param1 + , param2 + , param3 + , param4); + + foobar2(param1 + , param2 + , param3 + , param4); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00512-bool-pos.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00512-bool-pos.c new file mode 100644 index 00000000..2e82b7ef --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00512-bool-pos.c @@ -0,0 +1,66 @@ +void foo(void) +{ + if ((a != 0) && + (b == 0) && + (c < 0) && + (d > 0)) + { + printf("hi"); + } + + if (flag1 +#ifdef FLAG2 + || flag2 +#endif + ) + { + printf("yar"); + } + + if (flag1 && +#ifdef FLAG2 + flag2 && +#endif + flag3) + { + printf("bo"); + } + + if ((a != 0) && + (b == 0) && + (c < 0)) + { + printf("hi"); + } + + if ((a != 0) && + (b == 0) && + (c < 0)) + { + printf("hi"); + } + + if (!this->writeOwiFile () || // comment1 + broken () || + !saveArchiveData () || /* comment2 */ + broken () || + !deleteCentralArchive () || // comment3 + broken () || + !copyArchivFiles () || // comment4 + broken () || + !appendToPlanetDb ()) // comment5 + { + ; + } + + foobar(param1, + param2, + param3, + param4); + + foobar2(param1, + param2, + param3, + param4); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00513-bool-pos.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00513-bool-pos.c new file mode 100644 index 00000000..cad844c5 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00513-bool-pos.c @@ -0,0 +1,66 @@ +void foo(void) +{ + if ((a != 0) + && (b == 0) + && (c < 0) + && (d > 0)) + { + printf("hi"); + } + + if (flag1 +#ifdef FLAG2 + || flag2 +#endif + ) + { + printf("yar"); + } + + if (flag1 && +#ifdef FLAG2 + flag2 && +#endif + flag3) + { + printf("bo"); + } + + if ((a != 0) + && (b == 0) + && (c < 0)) + { + printf("hi"); + } + + if ((a != 0) + && (b == 0) + && (c < 0)) + { + printf("hi"); + } + + if (!this->writeOwiFile () // comment1 + || broken () + || !saveArchiveData () /* comment2 */ + || broken () + || !deleteCentralArchive () // comment3 + || broken () + || !copyArchivFiles () // comment4 + || broken () + || !appendToPlanetDb ()) // comment5 + { + ; + } + + foobar(param1 + , param2 + , param3 + , param4); + + foobar2(param1 + , param2 + , param3 + , param4); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00514-my_infile.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00514-my_infile.c new file mode 100644 index 00000000..3f4c76fb --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00514-my_infile.c @@ -0,0 +1,199 @@ +#include <stdlib.h> /* exit */ +#include <unistd.h> /* _exit */ + +int foo(int); + +extern int baz; + +int foo (int bar) +{ +/* Switch blocks: */ + switch (c) + { + case 1: + case 2: + bar += 2; + break; + + case 3: + bar++; + baz++; + + case 4: + break; + + default: + break; + } + + switch (bar) + { + case 0: + bar++; + break; + + case 1: + bar++; + return bar; + + case 2: + bar++; + goto x; + + case 3: + bar++; + + /*FALLTHROUGH*/ + case 4: + bar++; + exit(bar); + + /*NOTREACHED*/ + case 5: + bar++; + _exit(bar); + + /*NOTREACHED*/ + case 6: + bar++; + if (baz > 2) + { + break; /* inside if statement; don't align with case */ + } + else + { + return baz; /* inside if statement; don't align with case */ + } + + /*NOTREACHED*/ + case 7: + switch (baz) + { + case 0: /* do nothing */ + break; + + case 1: + return baz; + + case 2: + baz--; + goto x; + + case 3: + exit(baz); + + /*NOTREACHED*/ + case 4: + _exit(baz); + + /*NOTREACHED*/ + case 5: + baz--; + + /*FALLTHROUGH*/ + default: + for (; baz > 0; baz--) { + if (baz == bar) + { + break; /* break out of for loop, unrelated to switch + statement */ + } + else + { + bar++; + } + } + break; + } + break; + + default: + bar++; + break; + } + + + switch (a) + { + case 0: + // code + break; + } + + + switch (a) + { + case 0: + if (k > 0) + { + break; + } + z = 1; + break; + + case 1: + if (k < 0) + { + break; + } + z = 2; + + case 2: + z = 3; + break; + } + + + return bar; +} + + +int foo2 (int op) +{ + switch (op) + { + case 1: + do_something(); + break; + + case 2: + do_something_else(); + + case 3: + do_something_different(); + do_something_more(); + break; + } + return -1; +} + +int foo3 (int op) +{ + for (int nnn = op; nnn <= 100; nnn++) + { + switch (nnn) + { + case 1: + do_something(); + break; + + case 2: + do_something_else(); + + case 3: + if (do_something_different()) + { + do_this(); + break; + } + do_something_more(); + break; + + default: + ; // nothing + break; + + } + } + return -1; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00600-dos.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00600-dos.c new file mode 100644 index 00000000..a0482ba3 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00600-dos.c @@ -0,0 +1,33 @@ +/**
+ * This is your typical header comment
+ */
+int foo(int bar)
+{
+ int idx;
+ int res = 0; // trailing comment
+ // that spans two lines
+ for (idx = 1; idx < bar; idx++)
+ {
+ /* comment in virtual braces */
+ res += idx;
+ }
+
+
+ res *= idx; // some comment
+
+ // almost continued, but a NL in between
+
+// col1 comment in level 1
+ return(res);
+}
+
+// col1 comment in level 0
+
+/*
+ Silly multiline comment.
+
+ Oh yes.
+
+ Really
+ */
+
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00601-mac.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00601-mac.c new file mode 100644 index 00000000..2be04c61 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00601-mac.c @@ -0,0 +1 @@ +/**
* This is your typical header comment
*/
int foo(int bar)
{
int idx;
int res = 0; // trailing comment
// that spans two lines
for (idx = 1; idx < bar; idx++)
/* comment in virtual braces */
res += idx;
res *= idx; // some comment
// almost continued, but a NL in between
// col1 comment in level 1
return(res);
}
// col1 comment in level 0
\ No newline at end of file diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00611-pp-space.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00611-pp-space.c new file mode 100644 index 00000000..217fc89a --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00611-pp-space.c @@ -0,0 +1,30 @@ +/** + * Some file header comment thingy. + */ +#ifndef SOME_H_INCLUDED +#define SOME_H_INCLUDED + +#include "Somefile.h" + +#define SOMEMACRO (1+4) + +#ifdef WIN32 + +#include "windows_compat.h" + +#else /* not WIN32 */ + +#if defined HAVE_STDINT_H +#include <stdint.h> +#elif defined HAVE_INTTYPES_H +#include <inttypes.h> +#define YOUR_OS_SUCKS +#else +#error "Don't know where int8_t is defined" +#endif + +typedef uint32_t UINT32; + +#endif /* ifdef WIN32 */ + +#endif /* SOME_H_INCLUDED */ diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00612-pp-space.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00612-pp-space.c new file mode 100644 index 00000000..7c19bf1e --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00612-pp-space.c @@ -0,0 +1,30 @@ +/** + * Some file header comment thingy. + */ +#ifndef SOME_H_INCLUDED +#define SOME_H_INCLUDED + +#include "Somefile.h" + +#define SOMEMACRO (1+4) + +#ifdef WIN32 + +# include "windows_compat.h" + +#else /* not WIN32 */ + +# if defined HAVE_STDINT_H +# include <stdint.h> +# elif defined HAVE_INTTYPES_H +# include <inttypes.h> +# define YOUR_OS_SUCKS +# else +# error "Don't know where int8_t is defined" +# endif + +typedef uint32_t UINT32; + +#endif /* ifdef WIN32 */ + +#endif /* SOME_H_INCLUDED */ diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00613-pp-space.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00613-pp-space.c new file mode 100644 index 00000000..7092a193 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00613-pp-space.c @@ -0,0 +1,30 @@ +/** + * Some file header comment thingy. + */ +#ifndef SOME_H_INCLUDED +#define SOME_H_INCLUDED + +#include "Somefile.h" + +#define SOMEMACRO (1+4) + +#ifdef WIN32 + + #include "windows_compat.h" + +#else /* not WIN32 */ + + #if defined HAVE_STDINT_H + #include <stdint.h> + #elif defined HAVE_INTTYPES_H + #include <inttypes.h> + #define YOUR_OS_SUCKS + #else + #error "Don't know where int8_t is defined" + #endif + +typedef uint32_t UINT32; + +#endif /* ifdef WIN32 */ + +#endif /* SOME_H_INCLUDED */ diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00614-pp-space.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00614-pp-space.c new file mode 100644 index 00000000..103c2ca4 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00614-pp-space.c @@ -0,0 +1,30 @@ +/** + * Some file header comment thingy. + */ +#ifndef SOME_H_INCLUDED +#define SOME_H_INCLUDED + +#include "Somefile.h" + +#define SOMEMACRO (1+4) + +#ifdef WIN32 + + #include "windows_compat.h" + +#else /* not WIN32 */ + + #if defined HAVE_STDINT_H + #include <stdint.h> + #elif defined HAVE_INTTYPES_H + #include <inttypes.h> + #define YOUR_OS_SUCKS + #else + #error "Don't know where int8_t is defined" + #endif + +typedef uint32_t UINT32; + +#endif /* ifdef WIN32 */ + +#endif /* SOME_H_INCLUDED */ diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00615-pp-nest.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00615-pp-nest.c new file mode 100644 index 00000000..5e99a1d0 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00615-pp-nest.c @@ -0,0 +1,15 @@ +#if AA +int foo() { +# if BB +# else +# if CC +# else +# endif +# endif +} +#endif + +int bar() +{ +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00616-pp-if-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00616-pp-if-indent.c new file mode 100644 index 00000000..dc2dea10 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00616-pp-if-indent.c @@ -0,0 +1,119 @@ +/* this is a comment */ + +/* should be in a H file but put in this file to avoid multiplying the number of test files */ +#ifndef COMSTACK_TYPES_H +#define COMSTACK_TYPES_H + +#include "STD_TYPES.h" +#ifdef COMINL_coENABLE_1 + #ifdef COMINL_coENABLE_2 + #include "def.h" + #endif +#endif + +#if (COMINL_coMINIMUM_DELAY_TIME_1 == COMINL_coENABLE) + #if (COMINL_coMINIMUM_DELAY_TIME_2 == COMINL_coENABLE) + #include "def1.h" + #define COMINL_coMINIMUM_DELAY_TIME_1 + #include "def2.h" + #endif +#endif + +/* no indentation */ +#if COMINL_coMINIMUM_DELAY_TIME == COMINL_coENABLE + #include "MEMSRV.h" +#endif + +/* already well indented */ +#ifndef COMINL_coAPPLI_TX_CONFIRMATION + #error "Define COMINL_coAPPLI_TX_CONFIRMATION is undefined" +#endif + +/* bad indentation */ +#ifndef COMINL_coENABLE + #error "Define COMINL_coENABLE is undefined" +#endif + + +#ifdef COMINL_coENABLE_3 + typedef enum + { + BUFREQ_OK =0, + BUFREQ_E_NOT_OK = 1, + BUFREQ_E_BUSY=2, + BUFREQ_E_OVFL =3 + } + BufReq_ReturnType; +#endif + + + +#if COMINL_coSTART_STOP_PERIODIC == COMINL_coENABLE + void COMINL_vidInit(void) + { + uint8 u8LocalMsgIdx; + + if (COMINL_kastrVarReceiveMsg[u8LocalMsgIdx].udtDeadlineMonTimer < COMINL_udtNB_MESSAGES_RX) + { + u8LocalMsgIdx = E_OK; + } + else + { + u8LocalMsgIdx = E_NOT_OK; + } + +/* nested #if...already well indented */ + #if COMINL_coRX_MESSAGE_VAR == COMINL_coENABLE + /*!Trace to: VEES_R_11_04044_004.01*/ + for(u8LocalMsgIdx = 0; u8LocalMsgIdx < COMINL_udtNB_MESSAGES_RX; u8LocalMsgIdx++) + { + #if COMINL_coRX_DEADLINE_MONITORING == COMINL_coENABLE + COMINL_kastrVarReceiveMsg[u8LocalMsgIdx].udtDeadlineMonTimer = 0; + #else /* COMINL_coRX_DEADLINE_MONITORING == COMINL_coENABLE */ + COMINL_kastrVarReceiveMsg[u8LocalMsgIdx].udtINMDeadlineMonTimer = 0; + #endif /* COMINL_coRX_DEADLINE_MONITORING == COMINL_coENABLE */ + } + #endif /* COMINL_coRX_MESSAGE_VAR == COMINL_coENABLE */ + + + +/* nested #if... no indentation */ + #if COMINL_coTX_MESSAGE_VAR == COMINL_coENABLE + /*!Trace to: VEES_R_11_04044_004.01*/ + for(u8LocalMsgIdx = 0; u8LocalMsgIdx < COMINL_udtNB_MESSAGES_TX; u8LocalMsgIdx++) + { + #if COMINL_coTX_DEADLINE_MONITORING == COMINL_coENABLE + COMINL_kastrVarTransmitMsg[u8LocalMsgIdx].udtDeadlineMonTimer = 0; + COMINL_kastrVarTransmitMsg[u8LocalMsgIdx].bDeadlineMonEnable = FALSE; + #endif /* COMINL_coTX_DEADLINE_MONITORING == COMINL_coENABLE */ + #if COMINL_coTX_INM_DEADLINE_MONITORING == COMINL_coENABLE + COMINL_kastrVarTransmitMsg[u8LocalMsgIdx].udtINMDeadlineMonTimer = 0; + #else /* COMINL_coTX_INM_DEADLINE_MONITORING == COMINL_coENABLE */ + COMINL_kastrVarTransmitMsg[u8LocalMsgIdx].udtMDTTimer = 0; + COMINL_kastrVarTransmitMsg[u8LocalMsgIdx].bMDTMsgToSend = FALSE; + #endif /*COMINL_coMINIMUM_DELAY_TIME == COMINL_coENABLE*/ + #if COMINL_coMIXED_MODE != COMINL_coDISABLE + COMINL_kastrVarTransmitMsg[u8LocalMsgIdx].udtPeriodicTimer = 0; + #endif + } + #endif /* COMINL_coTX_MESSAGE_VAR == COMINL_coENABLE */ + } +#endif + + +void myfunction(void) +{ + int i; + #ifdef COMINL_coTX_MESSAGE_VAR + #ifndef COMINL_coMIXED_MODE + #pragma MyPragma + int j; + #endif + #endif + int k; +} + + +#endif /* COMSTACK_TYPES_H */ + +/*------------------------------- end of file --------------------------------*/ diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00617-pp-if-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00617-pp-if-indent.c new file mode 100644 index 00000000..2caf73d2 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00617-pp-if-indent.c @@ -0,0 +1,128 @@ +/* this is a comment */ + +/* should be in a H file but put in this file to avoid multiplying the number of + * test files */ +#ifndef COMSTACK_TYPES_H +#define COMSTACK_TYPES_H + +#include "STD_TYPES.h" +#ifdef COMINL_coENABLE_1 + #ifdef COMINL_coENABLE_2 + #include "def.h" + #endif +#endif + +#if (COMINL_coMINIMUM_DELAY_TIME_1 == COMINL_coENABLE) + #if (COMINL_coMINIMUM_DELAY_TIME_2 == COMINL_coENABLE) + #include "def1.h" + #define COMINL_coMINIMUM_DELAY_TIME_1 + #include "def2.h" + #endif +#endif + +/* no indentation */ +#if COMINL_coMINIMUM_DELAY_TIME == COMINL_coENABLE + #include "MEMSRV.h" +#endif + +/* already well indented */ +#ifndef COMINL_coAPPLI_TX_CONFIRMATION + #error "Define COMINL_coAPPLI_TX_CONFIRMATION is undefined" +#endif + +/* bad indentation */ +#ifndef COMINL_coENABLE + #error "Define COMINL_coENABLE is undefined" +#endif + + +#ifdef COMINL_coENABLE_3 + typedef enum + { + BUFREQ_OK = 0, + BUFREQ_E_NOT_OK = 1, + BUFREQ_E_BUSY = 2, + BUFREQ_E_OVFL = 3 + } + BufReq_ReturnType; +#endif + + +#if COMINL_coSTART_STOP_PERIODIC == COMINL_coENABLE +void COMINL_vidInit(void) +{ + uint8 u8LocalMsgIdx; + + + if (COMINL_kastrVarReceiveMsg[u8LocalMsgIdx].udtDeadlineMonTimer + < COMINL_udtNB_MESSAGES_RX) + { + u8LocalMsgIdx = E_OK; + } + else + { + u8LocalMsgIdx = E_NOT_OK; + } + + /* nested #if...already well indented */ + #if COMINL_coRX_MESSAGE_VAR == COMINL_coENABLE + /*!Trace to: VEES_R_11_04044_004.01*/ + for (u8LocalMsgIdx = 0; + u8LocalMsgIdx < COMINL_udtNB_MESSAGES_RX; + u8LocalMsgIdx++) + { + #if COMINL_coRX_DEADLINE_MONITORING == COMINL_coENABLE + COMINL_kastrVarReceiveMsg[u8LocalMsgIdx].udtDeadlineMonTimer = 0; + #else /* COMINL_coRX_DEADLINE_MONITORING == COMINL_coENABLE */ + COMINL_kastrVarReceiveMsg[u8LocalMsgIdx].udtINMDeadlineMonTimer = 0; + #endif /* COMINL_coRX_DEADLINE_MONITORING == COMINL_coENABLE */ + } + #endif /* COMINL_coRX_MESSAGE_VAR == COMINL_coENABLE */ + + + /* nested #if... no indentation */ + #if COMINL_coTX_MESSAGE_VAR == COMINL_coENABLE + /*!Trace to: VEES_R_11_04044_004.01*/ + for (u8LocalMsgIdx = 0; + u8LocalMsgIdx < COMINL_udtNB_MESSAGES_TX; + u8LocalMsgIdx++) + { + #if COMINL_coTX_DEADLINE_MONITORING == COMINL_coENABLE + COMINL_kastrVarTransmitMsg[u8LocalMsgIdx].udtDeadlineMonTimer = 0; + COMINL_kastrVarTransmitMsg[u8LocalMsgIdx].bDeadlineMonEnable = + FALSE; + #endif /* COMINL_coTX_DEADLINE_MONITORING == COMINL_coENABLE */ + #if COMINL_coTX_INM_DEADLINE_MONITORING == COMINL_coENABLE + COMINL_kastrVarTransmitMsg[u8LocalMsgIdx].udtINMDeadlineMonTimer = + 0; + #else /* COMINL_coTX_INM_DEADLINE_MONITORING == COMINL_coENABLE */ + COMINL_kastrVarTransmitMsg[u8LocalMsgIdx].udtMDTTimer = 0; + COMINL_kastrVarTransmitMsg[u8LocalMsgIdx].bMDTMsgToSend = FALSE; + #endif /*COMINL_coMINIMUM_DELAY_TIME == COMINL_coENABLE*/ + #if COMINL_coMIXED_MODE != COMINL_coDISABLE + COMINL_kastrVarTransmitMsg[u8LocalMsgIdx].udtPeriodicTimer = 0; + #endif + } + #endif /* COMINL_coTX_MESSAGE_VAR == COMINL_coENABLE */ +} + +#endif + + +void myfunction(void) +{ + int i; + + + #ifdef COMINL_coTX_MESSAGE_VAR + #ifndef COMINL_coMIXED_MODE + #pragma MyPragma + int j; + #endif + #endif + int k; +} + +#endif /* COMSTACK_TYPES_H */ + +/*------------------------------- end of file --------------------------------*/ diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00618-pp-if-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00618-pp-if-indent.c new file mode 100644 index 00000000..f7b3d270 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00618-pp-if-indent.c @@ -0,0 +1,119 @@ +/* this is a comment */ + +/* should be in a H file but put in this file to avoid multiplying the number of test files */ +#ifndef COMSTACK_TYPES_H +#define COMSTACK_TYPES_H + +#include "STD_TYPES.h" +#ifdef COMINL_coENABLE_1 + #ifdef COMINL_coENABLE_2 + #include "def.h" + #endif +#endif + +#if (COMINL_coMINIMUM_DELAY_TIME_1 == COMINL_coENABLE) + #if (COMINL_coMINIMUM_DELAY_TIME_2 == COMINL_coENABLE) + #include "def1.h" + #define COMINL_coMINIMUM_DELAY_TIME_1 + #include "def2.h" + #endif +#endif + +/* no indentation */ +#if COMINL_coMINIMUM_DELAY_TIME == COMINL_coENABLE + #include "MEMSRV.h" +#endif + +/* already well indented */ +#ifndef COMINL_coAPPLI_TX_CONFIRMATION + #error "Define COMINL_coAPPLI_TX_CONFIRMATION is undefined" +#endif + +/* bad indentation */ +#ifndef COMINL_coENABLE + #error "Define COMINL_coENABLE is undefined" +#endif + + +#ifdef COMINL_coENABLE_3 + typedef enum + { + BUFREQ_OK =0, + BUFREQ_E_NOT_OK = 1, + BUFREQ_E_BUSY=2, + BUFREQ_E_OVFL =3 + } + BufReq_ReturnType; +#endif + + + +#if COMINL_coSTART_STOP_PERIODIC == COMINL_coENABLE + void COMINL_vidInit(void) + { + uint8 u8LocalMsgIdx; + + if (COMINL_kastrVarReceiveMsg[u8LocalMsgIdx].udtDeadlineMonTimer < COMINL_udtNB_MESSAGES_RX) + { + u8LocalMsgIdx = E_OK; + } + else + { + u8LocalMsgIdx = E_NOT_OK; + } + +/* nested #if...already well indented */ + #if COMINL_coRX_MESSAGE_VAR == COMINL_coENABLE + /*!Trace to: VEES_R_11_04044_004.01*/ + for(u8LocalMsgIdx = 0; u8LocalMsgIdx < COMINL_udtNB_MESSAGES_RX; u8LocalMsgIdx++) + { + #if COMINL_coRX_DEADLINE_MONITORING == COMINL_coENABLE + COMINL_kastrVarReceiveMsg[u8LocalMsgIdx].udtDeadlineMonTimer = 0; + #else /* COMINL_coRX_DEADLINE_MONITORING == COMINL_coENABLE */ + COMINL_kastrVarReceiveMsg[u8LocalMsgIdx].udtINMDeadlineMonTimer = 0; + #endif /* COMINL_coRX_DEADLINE_MONITORING == COMINL_coENABLE */ + } + #endif /* COMINL_coRX_MESSAGE_VAR == COMINL_coENABLE */ + + + +/* nested #if... no indentation */ + #if COMINL_coTX_MESSAGE_VAR == COMINL_coENABLE + /*!Trace to: VEES_R_11_04044_004.01*/ + for(u8LocalMsgIdx = 0; u8LocalMsgIdx < COMINL_udtNB_MESSAGES_TX; u8LocalMsgIdx++) + { + #if COMINL_coTX_DEADLINE_MONITORING == COMINL_coENABLE + COMINL_kastrVarTransmitMsg[u8LocalMsgIdx].udtDeadlineMonTimer = 0; + COMINL_kastrVarTransmitMsg[u8LocalMsgIdx].bDeadlineMonEnable = FALSE; + #endif /* COMINL_coTX_DEADLINE_MONITORING == COMINL_coENABLE */ + #if COMINL_coTX_INM_DEADLINE_MONITORING == COMINL_coENABLE + COMINL_kastrVarTransmitMsg[u8LocalMsgIdx].udtINMDeadlineMonTimer = 0; + #else /* COMINL_coTX_INM_DEADLINE_MONITORING == COMINL_coENABLE */ + COMINL_kastrVarTransmitMsg[u8LocalMsgIdx].udtMDTTimer = 0; + COMINL_kastrVarTransmitMsg[u8LocalMsgIdx].bMDTMsgToSend = FALSE; + #endif /*COMINL_coMINIMUM_DELAY_TIME == COMINL_coENABLE*/ + #if COMINL_coMIXED_MODE != COMINL_coDISABLE + COMINL_kastrVarTransmitMsg[u8LocalMsgIdx].udtPeriodicTimer = 0; + #endif + } + #endif /* COMINL_coTX_MESSAGE_VAR == COMINL_coENABLE */ + } +#endif + + +void myfunction(void) +{ + int i; + #ifdef COMINL_coTX_MESSAGE_VAR + #ifndef COMINL_coMIXED_MODE + #pragma MyPragma + int j; + #endif + #endif + int k; +} + + +#endif /* COMSTACK_TYPES_H */ + +/*------------------------------- end of file --------------------------------*/ diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00620-indent-assign.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00620-indent-assign.c new file mode 100644 index 00000000..c01e146a --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00620-indent-assign.c @@ -0,0 +1,14 @@ +void foo(void) +{ + int a; + + junk(a = 3); +} + +void f() +{ + int x = size_t(1.0) + + 2; + int y = (size_t(1.0) + + 5); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00621-nl_endif.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00621-nl_endif.c new file mode 100644 index 00000000..bae6272c --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00621-nl_endif.c @@ -0,0 +1,12 @@ +int main
+(
+)
+{
+ #ifdef useJPLvelocity
+ for(i = 0; i < x; i++)
+ y++;
+ #endif
+
+ return (0);
+} /* main */
+
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00622-indent-off-after-assign.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00622-indent-off-after-assign.c new file mode 100644 index 00000000..eb083f7b --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00622-indent-off-after-assign.c @@ -0,0 +1,29 @@ +void foo(void) +{ + int a; + int b = + veryLongMethodCall( + arg1, + longMethodCall( + arg2, + methodCall( + arg3, arg4 + ) + ) + ); + junk(a = + 3); +} + +void f() +{ + int x = size_t(1.0) + + 2; + int y = (size_t(1.0) + + 5); + + int z = + size_t(1.0) + + 5 + + size_t(2.0); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00631-nl_assign.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00631-nl_assign.c new file mode 100644 index 00000000..7319d498 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00631-nl_assign.c @@ -0,0 +1,21 @@ + +void foo() +{ + some.really_long.variable_name + = another.big.one[55] + + something_else; + + some.really_long.variable_name + = another.big.one[55] + + something_else; + + some.really_long.variable_name = another.big.one[55] + + something_else; + + a_really_long_assignment_to_test + = line_breaks_around_assign_and_arith; + + a_really_long_assignment_to_test = line_breaks_around + + assign_and_arith; + +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00632-nl_assign.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00632-nl_assign.c new file mode 100644 index 00000000..2452e773 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00632-nl_assign.c @@ -0,0 +1,21 @@ + +void foo() +{ + some.really_long.variable_name = + another.big.one[55] + + something_else; + + some.really_long.variable_name = + another.big.one[55] + + something_else; + + some.really_long.variable_name = another.big.one[55] + + something_else; + + a_really_long_assignment_to_test = + line_breaks_around_assign_and_arith; + + a_really_long_assignment_to_test = line_breaks_around + + assign_and_arith; + +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00701-function-def.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00701-function-def.c new file mode 100644 index 00000000..6f0133e8 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00701-function-def.c @@ -0,0 +1,51 @@ +void +foo1( + int param1, + int param2, + char *param2 + ); + +void +foo2( + int param1, + int param2, + char *param2 + ); + +void +foo3( + int param1, + int param2, + char *param2 + ); + +struct whoopee * +foo4( + int param1, + int param2, + char *param2 + ); + +const struct snickers * +foo5( + int param1, + int param2, + char *param2 + ); + + +void +foo( + int param1, + int param2, + char *param2 + ) +{ + printf("boo!\n"); +} + +EXPORT int +DoStuff( + int Num + ); + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00702-function-def.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00702-function-def.c new file mode 100644 index 00000000..eaa568da --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00702-function-def.c @@ -0,0 +1,23 @@ +void foo1(int param1, int param2, char *param2); + +void foo2(int param1, + int param2, + char *param2); + +void foo3(int param1, + int param2, + char *param2); + +struct whoopee *foo4(int param1, int param2, char *param2); + +const struct snickers *foo5(int param1, int param2, char *param2); + + +void +foo(int param1, int param2, char *param2) +{ + printf("boo!\n"); +} + +EXPORT int DoStuff(int Num); + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00703-function-def.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00703-function-def.c new file mode 100644 index 00000000..76cf664f --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00703-function-def.c @@ -0,0 +1,18 @@ +void foo1(int param1, int param2, char *param2); + +void foo2(int param1,int param2,char *param2); + +void foo3(int param1,int param2,char *param2); + +struct whoopee *foo4(int param1, int param2, char *param2); + +const struct snickers *foo5(int param1, int param2, char *param2); + + +void foo(int param1, int param2, char *param2) +{ + printf("boo!\n"); +} + +EXPORT int DoStuff(int Num); + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00710-add_long_comment.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00710-add_long_comment.c new file mode 100644 index 00000000..82bf680e --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00710-add_long_comment.c @@ -0,0 +1,36 @@ +/** + * trailing comments are added at 8 newlines in this test. + * + * + */ +void short_function(void) +{ + /* this is a 'short' function, so no added comment */ +} + +void long_function(void) +{ + /* this is a 'long' function, so a comment is added */ + switch (some_int_value()) + { + case 0: + handle_zero(); + break; + + case 50: + handle_fifty(); + break; + + case 127: + handle_another_value(); + break; + + default: + boy_do_i_lack_imagination(); + break; + } /* switch */ + + /* call one last function... */ + one_last_func_call(); +} /* long_function */ + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00721-nl-semicolon.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00721-nl-semicolon.c new file mode 100644 index 00000000..441091b5 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00721-nl-semicolon.c @@ -0,0 +1,35 @@ +void foo(void) +{ + a = 5; + b = 3; + j = 6; + + for (a = 0; a < j; a++) + { + b *= (a + b); + } +} + +struct somestruct +{ + int a; + char b; + foo c; + bar *d; +}; + +struct foo +{ + int a; + char *b +}; + +void f() +{ + for (;;) + { + nothing(); + } + foobar(); +} +; diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00801-fcn_type.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00801-fcn_type.c new file mode 100644 index 00000000..72af3fa3 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00801-fcn_type.c @@ -0,0 +1,43 @@ +typedef void (*my_fcn_ptr)(char *, int); +typedef const char *(my_fcn_ptr)(char *, int); +typedef int (my_fcn_ptr)(char *, int); +typedef struct foo *(my_fcn_ptr)(char *, int); +typedef enum foo *(*my_fcn_ptr)(char *, int); +typedef const struct foo *(*my_fcn_ptr)(char *, int); +typedef BOOL (my_fcn_ptr)(char *, int); +typedef INT32 (*my_fcn_ptr)(char *, int); +typedef int INT32; +typedef struct foo +{ + int a; +} fooey; + +typedef struct +{ + int a; +} queso; + +struct myfoo +{ + INT32 age; + const struct foo *(*my_fcn_ptr)(char *, int); + const CHAR *name; + MYTYPE (*foo)(int, char); + void *user; + void (*foo)(int, char); +}; + +SMU foo(void) +{ + double AAA = 1.e-3, BBB = 0.016, CCC = 2 * DDD * sqrt(EEE); + + a = 4; + (*ABC)(); + return(SMUIFY(a)); +} + +typedef struct +{ + void (*newObject)(const object_info *info, const IObject **interface, struct object_h *instance); +} IObjectFactory; + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00802-funcfunc.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00802-funcfunc.c new file mode 100644 index 00000000..4d0f0432 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00802-funcfunc.c @@ -0,0 +1,5 @@ +int main() +{ + mWriter("class Clst_"c)(cluster.getChild(HO_SHORT_NAME).getText())(" : Cluster {"c).newline; +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00803-fcn_type.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00803-fcn_type.c new file mode 100644 index 00000000..9e1e5c55 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00803-fcn_type.c @@ -0,0 +1,38 @@ +typedef void (*my_fcn_ptr)(char *, int); +typedef const char *(my_fcn_ptr)(char *, int); +typedef int (my_fcn_ptr)(char *, int); +typedef struct foo *(my_fcn_ptr)(char *, int); +typedef enum foo *(*my_fcn_ptr)(char *, int); +typedef const struct foo *(*my_fcn_ptr)(char *, int); +typedef BOOL (my_fcn_ptr)(char *, int); +typedef INT32 (*my_fcn_ptr)(char *, int); +typedef int INT32; +typedef struct foo { + int a; +} fooey; + +typedef struct { + int a; +} queso; + +struct myfoo { + INT32 age; + const struct foo *(*my_fcn_ptr)(char *, int); + const CHAR *name; + MYTYPE (*foo)(int, char); + void *user; + void (*foo)(int, char); +}; + +SMU foo(void) +{ + double AAA=1.e-3,BBB=0.016,CCC=2*DDD*sqrt(EEE); + a=4; + ( *ABC )(); + return SMUIFY(a); +} + +typedef struct { + void (*newObject)(const object_info * info, const IObject * *interface, struct object_h * instance); +} IObjectFactory; + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00901-code_width.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00901-code_width.c new file mode 100644 index 00000000..672f9153 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00901-code_width.c @@ -0,0 +1,87 @@ + +static int short_function_name(struct device *dev, + struct device_driver *drv); + +/* Assuming a 60-column limit */ +static int short_function_name(struct device *dev, + struct device_driver *drv) +{ + this->translateLabels(labelID, + completedLabelID, + selectedLabelID, + text, + selectedText, + completedText, + fontId, + selectedFontId, + completedFontId); + call_some_really_long_function.of_some_sort( + some_long_parameter1, + some_long_parameter2); + + abc = call_some_other_really_long_function.of_some_sort( + some_long_parameter1, + some_long_parameter2); + + abc.def.ghi = + call_some_other_really_long_function.of_some_sort( + some_long_parameter1, + some_long_parameter2); + + abcdefghijklmnopqrstuvwxyz = abc + def + ghi + jkl + + mno + prq + stu + vwx + yz; + + return 1; +} + +typedef + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + yyyyyyyyyyyyyyyyyyyyyy; + +typedef some_return_value (*some_function_type)(another_type + parameter1, + another_type + parameter2); + +typedef struct + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +{ + int yyyyyyyyyyyyyyyyyyyyyy; +} x_t; + +static void some_really_long_function_name( + struct device *dev, + struct device_driver *drv) +{ + if ((some_variable_name && + somefunction(param1, param2, param3))) { + asdfghjk = asdfasdfasd.aasdfasd + + (asdfasd.asdas * 1234.65); + } + + for (struct something_really_really_excessive * + a_long_ptr_name = get_first_item(); + a_long_ptr_name != NULL; + a_long_ptr_name = get_next_item(a_long_ptr_name)) + { + } + + for (a = get_first(); a != NULL; a = get_next(a)) + { + } + + for (a_ptr = get_first(); a_ptr != NULL; + a_ptr = get_next(a)) + { + } + + register_clcmd( "examine", + "do_examine", + -1, + "-Allows a player to examine the health and armor of a teammate" ); + register_clcmd( "/examine", + "do_examine", + -1, + "-Allows a player to examine the health and armor of a teammate" ); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00902-code_width.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00902-code_width.c new file mode 100644 index 00000000..9c5a4cec --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00902-code_width.c @@ -0,0 +1,76 @@ + +static int short_function_name(struct device *dev, + struct device_driver *drv); + +/* Assuming a 60-column limit */ +static int short_function_name(struct device *dev, + struct device_driver *drv) +{ + this->translateLabels(labelID, completedLabelID, + selectedLabelID, text, + selectedText, completedText, + fontId, selectedFontId, + completedFontId); + call_some_really_long_function.of_some_sort( + some_long_parameter1, some_long_parameter2); + + abc = call_some_other_really_long_function.of_some_sort( + some_long_parameter1, some_long_parameter2); + + abc.def.ghi = + call_some_other_really_long_function.of_some_sort( + some_long_parameter1, some_long_parameter2); + + abcdefghijklmnopqrstuvwxyz = abc + def + ghi + jkl + + mno + prq + stu + vwx + yz; + + return 1; +} + +typedef + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + yyyyyyyyyyyyyyyyyyyyyy; + +typedef some_return_value (*some_function_type)(another_type + parameter1, + another_type + parameter2); + +typedef struct + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +{ + int yyyyyyyyyyyyyyyyyyyyyy; +} x_t; + +static void some_really_long_function_name( + struct device *dev, struct device_driver *drv) +{ + if ((some_variable_name && + somefunction(param1, param2, param3))) { + asdfghjk = asdfasdfasd.aasdfasd + + (asdfasd.asdas * 1234.65); + } + + for (struct something_really_really_excessive * + a_long_ptr_name = get_first_item(); + a_long_ptr_name != NULL; + a_long_ptr_name = get_next_item(a_long_ptr_name)) + { + } + + for (a = get_first(); a != NULL; a = get_next(a)) + { + } + + for (a_ptr = get_first(); + a_ptr != NULL; + a_ptr = get_next(a)) + { + } + + register_clcmd( "examine", "do_examine", -1, + "-Allows a player to examine the health and armor of a teammate" ); + register_clcmd( "/examine", "do_examine", -1, + "-Allows a player to examine the health and armor of a teammate" ); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00903-code_width.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00903-code_width.c new file mode 100644 index 00000000..049e952d --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00903-code_width.c @@ -0,0 +1,75 @@ + +static int short_function_name(struct device *dev, struct device_driver *drv); + +/* Assuming a 60-column limit */ +static int short_function_name(struct device *dev, struct device_driver *drv) +{ + this->translateLabels(labelID, + completedLabelID, + selectedLabelID, + text, + selectedText, + completedText, + fontId, + selectedFontId, + completedFontId); + call_some_really_long_function.of_some_sort(some_long_parameter1, + some_long_parameter2); + + abc = call_some_other_really_long_function.of_some_sort( + some_long_parameter1, + some_long_parameter2); + + abc.def.ghi = call_some_other_really_long_function.of_some_sort( + some_long_parameter1, + some_long_parameter2); + + abcdefghijklmnopqrstuvwxyz = abc + def + ghi + jkl + mno + prq + stu + vwx + + yz; + + return 1; +} + +typedef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + yyyyyyyyyyyyyyyyyyyyyy; + +typedef some_return_value (*some_function_type)(another_type parameter1, + another_type parameter2); + +typedef struct xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +{ + int yyyyyyyyyyyyyyyyyyyyyy; +} x_t; + +static void some_really_long_function_name(struct device *dev, + struct device_driver *drv) +{ + if ((some_variable_name && somefunction(param1, param2, param3))) { + asdfghjk = asdfasdfasd.aasdfasd + (asdfasd.asdas * 1234.65); + } + + for (struct something_really_really_excessive *a_long_ptr_name = + get_first_item(); + a_long_ptr_name != NULL; + a_long_ptr_name = get_next_item(a_long_ptr_name)) + { + } + + for (a = get_first(); a != NULL; a = get_next(a)) + { + } + + for (a_ptr = get_first(); a_ptr != NULL; a_ptr = get_next(a)) + { + } + + register_clcmd( "examine", + "do_examine", + -1, + "-Allows a player to examine the health and armor of a teammate" ); + register_clcmd( "/examine", + "do_examine", + -1, + "-Allows a player to examine the health and armor of a teammate" ); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00910-pascal_ptr.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00910-pascal_ptr.c new file mode 100644 index 00000000..27a9cdef --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00910-pascal_ptr.c @@ -0,0 +1,13 @@ +foobar_t* a; +int* b; +int* c; +something no; + +char* main() +{ + int i = (5 * 3) + 2; +} + +void foo(int* a, int* b, int* c) +{ +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00911-pascal_ptr.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00911-pascal_ptr.c new file mode 100644 index 00000000..4c0d0dde --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/00911-pascal_ptr.c @@ -0,0 +1,12 @@ +foobar_t* a; +int* b; +int* c; +something no; + +char* main() +{ + int i = (5 * 3) + 2; +} + +void foo(int* a, int* b, int* c) +{} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01000-mod-paren.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01000-mod-paren.c new file mode 100644 index 00000000..ca919f77 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01000-mod-paren.c @@ -0,0 +1,78 @@ +int foo(int a, int b) +{ + if (!(a || b)) + { + return(1); + } + return(0); +} + +void fooo() +{ + if (enabled) + { + value = 1; + } + + if (enabled && (value == 100)) + { + } + + if (value == 100) + { + } + + if ((value == 100) && (i < 15) || enabled) + { + } + + if (!failed && ((value == 100) && (i < 15)) || enabled) + { + } +} + +void foo3() +{ + if ((strcmp(a, b) == 0) && (total < 5)) + { + add_item(a); + } + + if (glob_add_path(gd, gd->dir, NULL, + (flags & GLOB_MARK) && S_ISDIR(gd->st.st_mode)) != 0) + { + bar(); + } + return; +} + +int foo1(void) +{ + FOO_ERROR("connect: can only connected from state CLOSED", pcb->state == CLOSED, return ERR_ISCONN); + return(ERR_OK); +} + +int foo2(void) +{ + return(-1); +} + +void foo(void) +{ + if (!value +#ifdef OPTION + || value == SOMECONST +#endif /* comment */ + ) + { + } +} + +void foo3(void) +{ + if ((*p == '-') && (p[1] != ']') ? + (*text <= *++p) && (*text >= last) : (*text == *p)) + { + matched = TRUE; + } +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01001-nl-comment.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01001-nl-comment.c new file mode 100644 index 00000000..ecac3e2a --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01001-nl-comment.c @@ -0,0 +1,72 @@ +/** + * This is your typical header comment + */ +int foo(int bar) +{ + int idx; + int res = 0; // trailing comment + + // that spans two lines + + + /* multi-line comment + */ + idx = 50; + + + /* single line comment */ + for (idx = 1; idx < bar; idx++) + { + /* comment in virtual braces */ + res += idx; + } + switch (res) + { + case 1: + // C++-style comment + res++; + break; + case 2: + /* C-style comment */ + res--; + break; + case 3: + /* Multi-line comment + */ + res = 0; + break; + case 4: + + // C++-style comment + res++; + break; + case 5: + + /* C-style comment */ + res--; + break; + default: + + /* Multi-line comment + */ + res = 0; + break; + } + + res *= idx; // some comment + + // almost continued, but a NL in between + + i++; + + + +// col1 comment in level 1 +// second comment + return(res); +} + + + +// col1 comment in level 0 +// and another diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01002-mod-paren.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01002-mod-paren.c new file mode 100644 index 00000000..2537330f --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01002-mod-paren.c @@ -0,0 +1,78 @@ +int foo(int a, int b) +{ + if (!(a || b)) + { + return 1; + } + return 0; +} + +void fooo() +{ + if (enabled) + { + value = 1; + } + + if (enabled && (value == 100)) + { + } + + if (value == 100) + { + } + + if ((value == 100) && (i < 15) || enabled) + { + } + + if (!failed && ((value == 100) && (i < 15)) || enabled) + { + } +} + +void foo3() +{ + if ((strcmp(a, b) == 0) && (total < 5)) + { + add_item(a); + } + + if (glob_add_path(gd, gd->dir, NULL, + (flags & GLOB_MARK) && S_ISDIR(gd->st.st_mode)) != 0) + { + bar(); + } + return; +} + +int foo1(void) +{ + FOO_ERROR("connect: can only connected from state CLOSED", pcb->state == CLOSED, return ERR_ISCONN); + return ERR_OK; +} + +int foo2(void) +{ + return -1; +} + +void foo(void) +{ + if (!value +#ifdef OPTION + || value == SOMECONST +#endif /* comment */ + ) + { + } +} + +void foo3(void) +{ + if ((*p == '-') && (p[1] != ']') ? + (*text <= *++p) && (*text >= last) : (*text == *p)) + { + matched = TRUE; + } +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01005-mod_case_brace.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01005-mod_case_brace.c new file mode 100644 index 00000000..8bb32e20 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01005-mod_case_brace.c @@ -0,0 +1,71 @@ +int foo(int bar) +{ + switch (bar) + { + case 0: + { + showit(0); + } + c++; + break; + + case 1: + { + showit(bar); + break; + } + + case 2: + { + } + break; + + case 3: + { + int a = bar * 3; + showit(a); + } + c++; + break; + + case 4: + { + foo(bar - 1); + { + showit(0); + } + } + + case 10: + { + switch (gl_bug) + { + case 'a': + { + gl_foo = true; + break; + } + + case 'b': + case 'c': + { + gl_foo = false; + break; + } + + default: + { + // nothing + } + break; + } + } + break; + + default: + { + } + break; + } + return(-1); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01006-mod_case_brace.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01006-mod_case_brace.c new file mode 100644 index 00000000..371bd5cb --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01006-mod_case_brace.c @@ -0,0 +1,55 @@ +int foo(int bar) +{ + switch (bar) + { + case 0: + { + showit(0); + } + c++; + break; + + case 1: + showit(bar); + break; + + case 2: + break; + + case 3: + { + int a = bar * 3; + showit(a); + } + c++; + break; + + case 4: + foo(bar - 1); + { + showit(0); + } + + case 10: + switch (gl_bug) + { + case 'a': + gl_foo = true; + break; + + case 'b': + case 'c': + gl_foo = false; + break; + + default: + // nothing + break; + } + break; + + default: + break; + } + return(-1); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01007-mod_case_brace.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01007-mod_case_brace.c new file mode 100644 index 00000000..2ea3dea5 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01007-mod_case_brace.c @@ -0,0 +1,71 @@ +int foo(int bar) +{ + switch (bar) + { + case 0: + { + showit(0); + } + c++; + break; + + case 1: + { + showit(bar); + break; + } + + case 2: + { + break; + } + + case 3: + { + int a = bar * 3; + showit(a); + } + c++; + break; + + case 4: + { + foo(bar - 1); + { + showit(0); + } + } + + case 10: + { + switch (gl_bug) + { + case 'a': + { + gl_foo = true; + break; + } + + case 'b': + case 'c': + { + gl_foo = false; + break; + } + + default: + { + // nothing + break; + } + } + break; + } + + default: + { + break; + } + } + return(-1); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01011-semicolons.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01011-semicolons.c new file mode 100644 index 00000000..962ec588 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01011-semicolons.c @@ -0,0 +1,74 @@ + +int foo(int bar) +{ + for (;;) + { + break; + } + if (a) + { + foo(); + } + + if (b) + if (c) + bar(); + else + ; + + else + { + foo(); + } + switch (a) + { + case 1: break; + case 2: break; + default: break; + } + while (b-->0) + { + bar(); + } + do + { + bar(); + } while (b-->0 ); +} + +enum FPP { + FPP_ONE = 1, + FPP_TWO = 2, +}; + +struct narg { + int abc; + char def; + const char *ghi; +}; + +void f2(void) +{ + { i++; } + + for (;;); + + for (;;) { } +} + +int main(int argc, char *argv[]) +{ + if( argc == 1 ) + { + printf("one"); + } + else if( argc == 2 ) + { + printf("two"); + } + else + { + printf("%d", argc); + } + return 0; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01012-semicolons.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01012-semicolons.c new file mode 100644 index 00000000..54d895e7 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01012-semicolons.c @@ -0,0 +1,89 @@ + +int foo(int bar) +{ + for ( ; ; ) + { + break; + } + if (a) + { + foo(); + } + + if (b) + { + if (c) + { + bar(); + } + else + { + } + } + + else + { + foo(); + } + switch (a) + { + case 1: break; + + case 2: break; + + default: break; + } + while (b-- > 0) + { + bar(); + } + do + { + bar(); + } while (b-- > 0); +} /* foo */ + +enum FPP +{ + FPP_ONE = 1, + FPP_TWO = 2, +}; + +struct narg +{ + int abc; + char def; + const char *ghi; +}; + +void f2(void) +{ + { + i++; + } + + for ( ; ; ) + { + } + + for ( ; ; ) + { + } +} + +int main(int argc, char *argv[]) +{ + if (argc == 1) + { + printf("one"); + } + else if (argc == 2) + { + printf("two"); + } + else + { + printf("%d", argc); + } + return(0); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01015-paren_indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01015-paren_indent.c new file mode 100644 index 00000000..d993315c --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01015-paren_indent.c @@ -0,0 +1,12 @@ +function1 + (something1); + +function2 + (something2); + +x = (float) + (number); + +x = (float) + (number); + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01016-align_attr.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01016-align_attr.c new file mode 100644 index 00000000..012217e4 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01016-align_attr.c @@ -0,0 +1,4 @@ + +char test[3] _PREPROCESSOR_SOMETHING; +int numberThatIsReallyCool _PREPROCESSOR_SOMETHING; + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01020-kw_subst.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01020-kw_subst.c new file mode 100644 index 00000000..61b43c3f --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01020-kw_subst.c @@ -0,0 +1,51 @@ +/** + * @file kw_subst.c + * Description + * + * $Id$ + */ +#include <string> + +/** + * foo1 + * TODO: DESCRIPTION + * @return TODO + */ +int foo1() +{ +} + +/** header comment */ +#if 2 +/** + * foo2 + * TODO: DESCRIPTION + * @return TODO + */ +int foo2(void) +{ +} +#endif + +#if 1 +/** + * foo3 + * TODO: DESCRIPTION + * @param a TODO + */ +void foo3(int a) +{ +} +#endif + +/** + * foo4 + * TODO: DESCRIPTION + * @param a TODO + * @param b TODO + * @param c TODO + * @return TODO + */ +void *foo4(int a, int b, int c) +{ +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01021-hello.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01021-hello.c new file mode 100644 index 00000000..6ba46ef7 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01021-hello.c @@ -0,0 +1,48 @@ +/*******************************************************************************//**
+ *
+ * @file hello.c
+ *
+ * <Description>
+ *
+ ***********************************************************************************/
+#include <stdio.h>
+
+/***********************************************************************************
+ * HelloWorld
+ *******************************************************************************//**
+ *
+ * <Description>
+ *
+ * @param pString TODO
+ *
+ **********************************************************************************/
+void HelloWorld(char* pString)
+{
+ printf("%s\n", pString);
+} /* HelloWorld */
+
+
+
+/***********************************************************************************
+ * main
+ *******************************************************************************//**
+ *
+ * <Description>
+ *
+ * @return TODO
+ *
+ **********************************************************************************/
+int main()
+{
+ HelloWorld("Hello world");
+
+ return 0;
+} /* main */
+
+
+
+/**
+ * CVS History:
+ * $Log $
+ *
+ */
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01022-kw_subst.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01022-kw_subst.c new file mode 100644 index 00000000..6cba8370 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01022-kw_subst.c @@ -0,0 +1,75 @@ +/*******************************************************************************//**
+ *
+ * @file kw_subst.c
+ *
+ * <Description>
+ *
+ ***********************************************************************************/
+#include <string>
+
+/***********************************************************************************
+ * foo1
+ *******************************************************************************//**
+ *
+ * <Description>
+ *
+ * @return TODO
+ *
+ **********************************************************************************/
+int foo1()
+{
+}
+
+
+
+/** header comment */
+#if 2
+ int foo2(void)
+ {
+ }
+
+
+
+#endif
+
+#if 1
+ /***********************************************************************************
+ * foo3
+ *******************************************************************************//**
+ *
+ * <Description>
+ *
+ * @param a TODO
+ *
+ **********************************************************************************/
+ void foo3(int a)
+ {
+ }
+
+
+
+#endif
+
+/***********************************************************************************
+ * foo4
+ *******************************************************************************//**
+ *
+ * <Description>
+ *
+ * @param a TODO
+ * @param b TODO
+ * @param c TODO
+ * @return TODO
+ *
+ **********************************************************************************/
+void * foo4(int a, int b, int c)
+{
+}
+
+
+
+/**
+ * CVS History:
+ * $Log $
+ *
+ */
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01030-multi.h b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01030-multi.h new file mode 100644 index 00000000..14a599c7 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01030-multi.h @@ -0,0 +1,12 @@ +/* +This is a multiline +comment that should +not be indented +*/ +{ + /* + No trailing spaces + + in this comment + */ +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01035-func_wrap.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01035-func_wrap.c new file mode 100644 index 00000000..b2f86805 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01035-func_wrap.c @@ -0,0 +1,3 @@ + +void FSUB(MPI_Foo)(MPI_Fint* sendcount); + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01036-func_wrap.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01036-func_wrap.c new file mode 100644 index 00000000..24e932ed --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01036-func_wrap.c @@ -0,0 +1,3 @@ + +void FSUB( MPI_Foo )( MPI_Fint* sendcount ); + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01037-type_wrap.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01037-type_wrap.c new file mode 100644 index 00000000..c3c23569 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01037-type_wrap.c @@ -0,0 +1,4 @@ +void foo(void) +{ + STACK_OF(X509) *st = sk_X509_new_null(); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01040-newline_after_endif.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01040-newline_after_endif.c new file mode 100644 index 00000000..2a0cbe62 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01040-newline_after_endif.c @@ -0,0 +1,53 @@ +int main
+(
+)
+{
+ #ifdef useJPLvelocity
+ for(i = 0; i < x; i++)
+ y++;
+ #endif
+
+ return (0);
+} /* main */
+
+int main
+(
+)
+{
+ if(y < 3)
+ y++;
+
+ #ifdef ABC
+ if(y < 3)
+ y++ // comment
+ #endif
+
+ if(y < 3)
+ y++;
+
+ y++;
+
+ return (0);
+} /* main */
+
+int main
+(
+)
+{
+ #ifdef ABC
+ if(j < y)
+ {
+ if(j < x)
+ {
+ j++;
+ #ifdef XYZ
+ if(j < x)
+ j++;
+ #endif
+ }
+ }
+ #endif
+
+ return (0);
+} /* main */
+
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01050-func_call_user.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01050-func_call_user.c new file mode 100644 index 00000000..82eba7cb --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01050-func_call_user.c @@ -0,0 +1,6 @@ +int func(n) +{ + int a = foo (); + char *a = _("some text"); + char *str = N_("other text"); +} /* func */ diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01060-backslash-newline-lex.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01060-backslash-newline-lex.c new file mode 100644 index 00000000..f5000b82 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01060-backslash-newline-lex.c @@ -0,0 +1,5 @@ +void f () { + g ("\ +"); + g ("\n", stdout); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01070-various_colons.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01070-various_colons.c new file mode 100644 index 00000000..0850b17e --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01070-various_colons.c @@ -0,0 +1,22 @@ +struct foo {unsigned int a : 4; + int b : 4; +}; +int bar(int x){ + switch (x) { + case 1: return 2; + + case 4: return 4; + + case 6: return 8; + + case 10: return 19; + } return 0; +} +int main(void){ + bar(10); +foo: + bar(-9); + bar(9); +baz: + return 0; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01071-various_colons.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01071-various_colons.c new file mode 100644 index 00000000..e25134ab --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01071-various_colons.c @@ -0,0 +1,20 @@ +struct foo {unsigned int a : 4; + int b : 4; +}; +int bar(int x){ + switch (x) { + case 1: return 2; + + case 4: return 4; + + case 6: return 8; + + case 10: return 19; + } return 0; +} +int main(void){ + bar(10); +foo: bar(-9); + bar(9); +baz: return 0; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01080-bug_1196.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01080-bug_1196.c new file mode 100644 index 00000000..9fdabca6 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/01080-bug_1196.c @@ -0,0 +1,9 @@ +#ifdef __cplusplus
+extern "C" {
+#endif
+
+void foo(void);
+
+#ifdef __cplusplus
+}
+#endif
\ No newline at end of file diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02000-i2c-core.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02000-i2c-core.c new file mode 100644 index 00000000..cfe6b053 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02000-i2c-core.c @@ -0,0 +1,1457 @@ +/* i2c-core.c - a device driver for the iic-bus interface */ +/* ------------------------------------------------------------------------- */ +/* Copyright (C) 1995-99 Simon G. Vogl + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +/* ------------------------------------------------------------------------- */ + +/* With some changes from Kyösti Mälkki <kmalkki@cc.hut.fi>. + * All SMBus-related things are written by Frodo Looijaard <frodol@dds.nl> + * SMBus 2.0 support by Mark Studebaker <mdsxyz123@yahoo.com> */ + +#include <linux/module.h> +#include <linux/kernel.h> +#include <linux/errno.h> +#include <linux/slab.h> +#include <linux/i2c.h> +#include <linux/init.h> +#include <linux/idr.h> +#include <linux/seq_file.h> +#include <asm/uaccess.h> + + +static LIST_HEAD(adapters); +static LIST_HEAD(drivers); +static DECLARE_MUTEX(core_lists); +static DEFINE_IDR(i2c_adapter_idr); + +static int i2c_device_match(struct device *dev, struct device_driver *drv) +{ + return(1); +} + +static int i2c_bus_suspend(struct device *dev, pm_message_t state) +{ + int rc = 0; + + if (dev->driver && dev->driver->suspend) + { + rc = dev->driver->suspend(dev, state, 0); + } + return(rc); +} + +static int i2c_bus_resume(struct device *dev) +{ + int rc = 0; + + if (dev->driver && dev->driver->resume) + { + rc = dev->driver->resume(dev, 0); + } + return(rc); +} + +struct bus_type i2c_bus_type = +{ + .name = "i2c", + .match = i2c_device_match, + .suspend = i2c_bus_suspend, + .resume = i2c_bus_resume, +}; + +static int i2c_device_probe(struct device *dev) +{ + return(-ENODEV); +} + +static int i2c_device_remove(struct device *dev) +{ + return(0); +} + +void i2c_adapter_dev_release(struct device *dev) +{ + struct i2c_adapter *adap = dev_to_i2c_adapter(dev); + + complete(&adap->dev_released); +} + +struct device_driver i2c_adapter_driver = +{ + .name = "i2c_adapter", + .bus = &i2c_bus_type, + .probe = i2c_device_probe, + .remove = i2c_device_remove, +}; + +static void i2c_adapter_class_dev_release(struct class_device *dev) +{ + struct i2c_adapter *adap = class_dev_to_i2c_adapter(dev); + + complete(&adap->class_dev_released); +} + +struct class i2c_adapter_class = +{ + .name = "i2c-adapter", + .release = &i2c_adapter_class_dev_release, +}; + +static ssize_t show_adapter_name(struct device *dev, struct device_attribute *attr, char *buf) +{ + struct i2c_adapter *adap = dev_to_i2c_adapter(dev); + + return(sprintf(buf, "%s\n", adap->name)); +} +static DEVICE_ATTR(name, S_IRUGO, show_adapter_name, NULL); + + +static void i2c_client_release(struct device *dev) +{ + struct i2c_client *client = to_i2c_client(dev); + + complete(&client->released); +} + +static ssize_t show_client_name(struct device *dev, struct device_attribute *attr, char *buf) +{ + struct i2c_client *client = to_i2c_client(dev); + + return(sprintf(buf, "%s\n", client->name)); +} + +/* + * We can't use the DEVICE_ATTR() macro here as we want the same filename for a + * different type of a device. So beware if the DEVICE_ATTR() macro ever + * changes, this definition will also have to change. + */ +static struct device_attribute dev_attr_client_name = +{ + .attr = { .name = "name", .mode = S_IRUGO, .owner = THIS_MODULE }, + .show = &show_client_name, +}; + + +/* --------------------------------------------------- + * registering functions + * --------------------------------------------------- + */ + +/* ----- + * i2c_add_adapter is called from within the algorithm layer, + * when a new hw adapter registers. A new device is register to be + * available for clients. + */ +int i2c_add_adapter(struct i2c_adapter *adap) +{ + int id, res = 0; + struct list_head *item; + struct i2c_driver *driver; + + down(&core_lists); + + if (idr_pre_get(&i2c_adapter_idr, GFP_KERNEL) == 0) + { + res = -ENOMEM; + goto out_unlock; + } + + res = idr_get_new(&i2c_adapter_idr, adap, &id); + if (res < 0) + { + if (res == -EAGAIN) + { + res = -ENOMEM; + } + goto out_unlock; + } + + adap->nr = id & MAX_ID_MASK; + init_MUTEX(&adap->bus_lock); + init_MUTEX(&adap->clist_lock); + list_add_tail(&adap->list, &adapters); + INIT_LIST_HEAD(&adap->clients); + + /* Add the adapter to the driver core. + * If the parent pointer is not set up, + * we add this adapter to the host bus. + */ + if (adap->dev.parent == NULL) + { + adap->dev.parent = &platform_bus; + } + sprintf(adap->dev.bus_id, "i2c-%d", adap->nr); + adap->dev.driver = &i2c_adapter_driver; + adap->dev.release = &i2c_adapter_dev_release; + device_register(&adap->dev); + device_create_file(&adap->dev, &dev_attr_name); + + /* Add this adapter to the i2c_adapter class */ + memset(&adap->class_dev, 0x00, sizeof(struct class_device)); + adap->class_dev.dev = &adap->dev; + adap->class_dev.class = &i2c_adapter_class; + strlcpy(adap->class_dev.class_id, adap->dev.bus_id, BUS_ID_SIZE); + class_device_register(&adap->class_dev); + + dev_dbg(&adap->dev, "adapter [%s] registered\n", adap->name); + + /* inform drivers of new adapters */ + list_for_each(item, &drivers) + { + driver = list_entry(item, struct i2c_driver, list); + if (driver->flags & I2C_DF_NOTIFY) + { + /* We ignore the return code; if it fails, too bad */ + driver->attach_adapter(adap); + } + } + + out_unlock: + up(&core_lists); + return(res); +} /* i2c_add_adapter */ + + +int i2c_del_adapter(struct i2c_adapter *adap) +{ + struct list_head *item, *_n; + struct i2c_adapter *adap_from_list; + struct i2c_driver *driver; + struct i2c_client *client; + int res = 0; + + down(&core_lists); + + /* First make sure that this adapter was ever added */ + list_for_each_entry(adap_from_list, &adapters, list) + { + if (adap_from_list == adap) + { + break; + } + } + if (adap_from_list != adap) + { + pr_debug("i2c-core: attempting to delete unregistered " + "adapter [%s]\n", adap->name); + res = -EINVAL; + goto out_unlock; + } + + list_for_each(item, &drivers) + { + driver = list_entry(item, struct i2c_driver, list); + if (driver->detach_adapter) + { + if ((res = driver->detach_adapter(adap))) + { + dev_err(&adap->dev, "detach_adapter failed " + "for driver [%s]\n", driver->name); + goto out_unlock; + } + } + } + + /* detach any active clients. This must be done first, because + * it can fail; in which case we give up. */ + list_for_each_safe(item, _n, &adap->clients) + { + client = list_entry(item, struct i2c_client, list); + + /* detaching devices is unconditional of the set notify + * flag, as _all_ clients that reside on the adapter + * must be deleted, as this would cause invalid states. + */ + if ((res = client->driver->detach_client(client))) + { + dev_err(&adap->dev, "detach_client failed for client " + "[%s] at address 0x%02x\n", client->name, + client->addr); + goto out_unlock; + } + } + + /* clean up the sysfs representation */ + init_completion(&adap->dev_released); + init_completion(&adap->class_dev_released); + class_device_unregister(&adap->class_dev); + device_remove_file(&adap->dev, &dev_attr_name); + device_unregister(&adap->dev); + list_del(&adap->list); + + /* wait for sysfs to drop all references */ + wait_for_completion(&adap->dev_released); + wait_for_completion(&adap->class_dev_released); + + /* free dynamically allocated bus id */ + idr_remove(&i2c_adapter_idr, adap->nr); + + dev_dbg(&adap->dev, "adapter [%s] unregistered\n", adap->name); + + out_unlock: + up(&core_lists); + return(res); +} /* i2c_del_adapter */ + + +/* ----- + * What follows is the "upwards" interface: commands for talking to clients, + * which implement the functions to access the physical information of the + * chips. + */ + +int i2c_add_driver(struct i2c_driver *driver) +{ + struct list_head *item; + struct i2c_adapter *adapter; + int res = 0; + + down(&core_lists); + + /* add the driver to the list of i2c drivers in the driver core */ + driver->driver.name = driver->name; + driver->driver.bus = &i2c_bus_type; + driver->driver.probe = i2c_device_probe; + driver->driver.remove = i2c_device_remove; + + res = driver_register(&driver->driver); + if (res) + { + goto out_unlock; + } + + list_add_tail(&driver->list, &drivers); + pr_debug("i2c-core: driver [%s] registered\n", driver->name); + + /* now look for instances of driver on our adapters */ + if (driver->flags & I2C_DF_NOTIFY) + { + list_for_each(item, &adapters) + { + adapter = list_entry(item, struct i2c_adapter, list); + driver->attach_adapter(adapter); + } + } + + out_unlock: + up(&core_lists); + return(res); +} + +int i2c_del_driver(struct i2c_driver *driver) +{ + struct list_head *item1, *item2, *_n; + struct i2c_client *client; + struct i2c_adapter *adap; + + int res = 0; + + down(&core_lists); + + /* Have a look at each adapter, if clients of this driver are still + * attached. If so, detach them to be able to kill the driver + * afterwards. + * + * Removing clients does not depend on the notify flag, else + * invalid operation might (will!) result, when using stale client + * pointers. + */ + list_for_each(item1, &adapters) + { + adap = list_entry(item1, struct i2c_adapter, list); + if (driver->detach_adapter) + { + if ((res = driver->detach_adapter(adap))) + { + dev_err(&adap->dev, "detach_adapter failed " + "for driver [%s]\n", driver->name); + goto out_unlock; + } + } + else + { + list_for_each_safe(item2, _n, &adap->clients) + { + client = list_entry(item2, struct i2c_client, list); + if (client->driver != driver) + { + continue; + } + dev_dbg(&adap->dev, "detaching client [%s] " + "at 0x%02x\n", client->name, + client->addr); + if ((res = driver->detach_client(client))) + { + dev_err(&adap->dev, "detach_client " + "failed for client [%s] at " + "0x%02x\n", client->name, + client->addr); + goto out_unlock; + } + } + } + } + + driver_unregister(&driver->driver); + list_del(&driver->list); + pr_debug("i2c-core: driver [%s] unregistered\n", driver->name); + + out_unlock: + up(&core_lists); + return(0); +} /* i2c_del_driver */ + +static int __i2c_check_addr(struct i2c_adapter *adapter, unsigned int addr) +{ + struct list_head *item; + struct i2c_client *client; + + list_for_each(item, &adapter->clients) + { + client = list_entry(item, struct i2c_client, list); + if (client->addr == addr) + { + return(-EBUSY); + } + } + return(0); +} + +int i2c_check_addr(struct i2c_adapter *adapter, int addr) +{ + int rval; + + down(&adapter->clist_lock); + rval = __i2c_check_addr(adapter, addr); + up(&adapter->clist_lock); + + return(rval); +} + +int i2c_attach_client(struct i2c_client *client) +{ + struct i2c_adapter *adapter = client->adapter; + + down(&adapter->clist_lock); + if (__i2c_check_addr(client->adapter, client->addr)) + { + up(&adapter->clist_lock); + return(-EBUSY); + } + list_add_tail(&client->list, &adapter->clients); + up(&adapter->clist_lock); + + if (adapter->client_register) + { + if (adapter->client_register(client)) + { + dev_dbg(&adapter->dev, "client_register " + "failed for client [%s] at 0x%02x\n", + client->name, client->addr); + } + } + + if (client->flags & I2C_CLIENT_ALLOW_USE) + { + client->usage_count = 0; + } + + client->dev.parent = &client->adapter->dev; + client->dev.driver = &client->driver->driver; + client->dev.bus = &i2c_bus_type; + client->dev.release = &i2c_client_release; + + snprintf(&client->dev.bus_id[0], sizeof(client->dev.bus_id), + "%d-%04x", i2c_adapter_id(adapter), client->addr); + dev_dbg(&adapter->dev, "client [%s] registered with bus id %s\n", + client->name, client->dev.bus_id); + device_register(&client->dev); + device_create_file(&client->dev, &dev_attr_client_name); + + return(0); +} /* i2c_attach_client */ + + +int i2c_detach_client(struct i2c_client *client) +{ + struct i2c_adapter *adapter = client->adapter; + int res = 0; + + if ((client->flags & I2C_CLIENT_ALLOW_USE) + && (client->usage_count > 0)) + { + dev_warn(&client->dev, "Client [%s] still busy, " + "can't detach\n", client->name); + return(-EBUSY); + } + + if (adapter->client_unregister) + { + res = adapter->client_unregister(client); + if (res) + { + dev_err(&client->dev, + "client_unregister [%s] failed, " + "client not detached\n", client->name); + goto out; + } + } + + down(&adapter->clist_lock); + list_del(&client->list); + init_completion(&client->released); + device_remove_file(&client->dev, &dev_attr_client_name); + device_unregister(&client->dev); + up(&adapter->clist_lock); + wait_for_completion(&client->released); + + out: + return(res); +} + +static int i2c_inc_use_client(struct i2c_client *client) +{ + if (!try_module_get(client->driver->owner)) + { + return(-ENODEV); + } + if (!try_module_get(client->adapter->owner)) + { + module_put(client->driver->owner); + return(-ENODEV); + } + + return(0); +} + +static void i2c_dec_use_client(struct i2c_client *client) +{ + module_put(client->driver->owner); + module_put(client->adapter->owner); +} + +int i2c_use_client(struct i2c_client *client) +{ + int ret; + + ret = i2c_inc_use_client(client); + if (ret) + { + return(ret); + } + + if (client->flags & I2C_CLIENT_ALLOW_USE) + { + if (client->flags & I2C_CLIENT_ALLOW_MULTIPLE_USE) + { + client->usage_count++; + } + else if (client->usage_count > 0) + { + goto busy; + } + else + { + client->usage_count++; + } + } + + return(0); + + busy: + i2c_dec_use_client(client); + return(-EBUSY); +} + +int i2c_release_client(struct i2c_client *client) +{ + if (client->flags & I2C_CLIENT_ALLOW_USE) + { + if (client->usage_count > 0) + { + client->usage_count--; + } + else + { + pr_debug("i2c-core: %s used one too many times\n", + __FUNCTION__); + return(-EPERM); + } + } + + i2c_dec_use_client(client); + + return(0); +} + +void i2c_clients_command(struct i2c_adapter *adap, unsigned int cmd, void *arg) +{ + struct list_head *item; + struct i2c_client *client; + + down(&adap->clist_lock); + list_for_each(item, &adap->clients) + { + client = list_entry(item, struct i2c_client, list); + if (!try_module_get(client->driver->owner)) + { + continue; + } + if (NULL != client->driver->command) + { + up(&adap->clist_lock); + client->driver->command(client, cmd, arg); + down(&adap->clist_lock); + } + module_put(client->driver->owner); + } + up(&adap->clist_lock); +} + +static int __init i2c_init(void) +{ + int retval; + + retval = bus_register(&i2c_bus_type); + if (retval) + { + return(retval); + } + retval = driver_register(&i2c_adapter_driver); + if (retval) + { + return(retval); + } + return(class_register(&i2c_adapter_class)); +} + +static void __exit i2c_exit(void) +{ + class_unregister(&i2c_adapter_class); + driver_unregister(&i2c_adapter_driver); + bus_unregister(&i2c_bus_type); +} + +subsys_initcall(i2c_init); +module_exit(i2c_exit); + +/* ---------------------------------------------------- + * the functional interface to the i2c busses. + * ---------------------------------------------------- + */ + +int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) +{ + int ret; + + if (adap->algo->master_xfer) + { +#ifdef DEBUG + for (ret = 0; ret < num; ret++) + { + dev_dbg(&adap->dev, "master_xfer[%d] %c, addr=0x%02x, " + "len=%d\n", ret, msgs[ret].flags & I2C_M_RD ? + 'R' : 'W', msgs[ret].addr, msgs[ret].len); + } +#endif + + down(&adap->bus_lock); + ret = adap->algo->master_xfer(adap, msgs, num); + up(&adap->bus_lock); + + return(ret); + } + else + { + dev_dbg(&adap->dev, "I2C level transfers not supported\n"); + return(-ENOSYS); + } +} + +int i2c_master_send(struct i2c_client *client, const char *buf, int count) +{ + int ret; + struct i2c_adapter *adap = client->adapter; + struct i2c_msg msg; + + msg.addr = client->addr; + msg.flags = client->flags & I2C_M_TEN; + msg.len = count; + msg.buf = (char *)buf; + + ret = i2c_transfer(adap, &msg, 1); + + /* If everything went ok (i.e. 1 msg transmitted), return #bytes + * transmitted, else error code. */ + return((ret == 1) ? count : ret); +} + +int i2c_master_recv(struct i2c_client *client, char *buf, int count) +{ + struct i2c_adapter *adap = client->adapter; + struct i2c_msg msg; + int ret; + + msg.addr = client->addr; + msg.flags = client->flags & I2C_M_TEN; + msg.flags |= I2C_M_RD; + msg.len = count; + msg.buf = buf; + + ret = i2c_transfer(adap, &msg, 1); + + /* If everything went ok (i.e. 1 msg transmitted), return #bytes + * transmitted, else error code. */ + return((ret == 1) ? count : ret); +} + + +int i2c_control(struct i2c_client *client, + unsigned int cmd, unsigned long arg) +{ + int ret = 0; + struct i2c_adapter *adap = client->adapter; + + dev_dbg(&client->adapter->dev, "i2c ioctl, cmd: 0x%x, arg: %#lx\n", cmd, arg); + switch (cmd) + { + case I2C_RETRIES: + adap->retries = arg; + break; + + case I2C_TIMEOUT: + adap->timeout = arg; + break; + + default: + if (adap->algo->algo_control != NULL) + { + ret = adap->algo->algo_control(adap, cmd, arg); + } + } + return(ret); +} + +/* ---------------------------------------------------- + * the i2c address scanning function + * Will not work for 10-bit addresses! + * ---------------------------------------------------- + */ +static int i2c_probe_address(struct i2c_adapter *adapter, int addr, int kind, + int (*found_proc)(struct i2c_adapter *, int, int)) +{ + int err; + + /* Make sure the address is valid */ + if (addr < 0x03 || addr > 0x77) + { + dev_warn(&adapter->dev, "Invalid probe address 0x%02x\n", + addr); + return(-EINVAL); + } + + /* Skip if already in use */ + if (i2c_check_addr(adapter, addr)) + { + return(0); + } + + /* Make sure there is something at this address, unless forced */ + if (kind < 0) + { + if (i2c_smbus_xfer(adapter, addr, 0, 0, 0, + I2C_SMBUS_QUICK, NULL) < 0) + { + return(0); + } + + /* prevent 24RF08 corruption */ + if ((addr & ~0x0f) == 0x50) + { + i2c_smbus_xfer(adapter, addr, 0, 0, 0, + I2C_SMBUS_QUICK, NULL); + } + } + + /* Finally call the custom detection function */ + err = found_proc(adapter, addr, kind); + + /* -ENODEV can be returned if there is a chip at the given address + * but it isn't supported by this chip driver. We catch it here as + * this isn't an error. */ + return((err == -ENODEV) ? 0 : err); +} + +int i2c_probe(struct i2c_adapter *adapter, + struct i2c_client_address_data *address_data, + int (*found_proc)(struct i2c_adapter *, int, int)) +{ + int i, err; + int adap_id = i2c_adapter_id(adapter); + + /* Forget it if we can't probe using SMBUS_QUICK */ + if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_QUICK)) + { + return(-1); + } + + /* Force entries are done first, and are not affected by ignore + * entries */ + if (address_data->forces) + { + unsigned short **forces = address_data->forces; + int kind; + + for (kind = 0; forces[kind]; kind++) + { + for (i = 0; forces[kind][i] != I2C_CLIENT_END; + i += 2) + { + if (forces[kind][i] == adap_id + || forces[kind][i] == ANY_I2C_BUS) + { + dev_dbg(&adapter->dev, "found force " + "parameter for adapter %d, " + "addr 0x%02x, kind %d\n", + adap_id, forces[kind][i + 1], + kind); + err = i2c_probe_address(adapter, + forces[kind][i + 1], + kind, found_proc); + if (err) + { + return(err); + } + } + } + } + } + + /* Probe entries are done second, and are not affected by ignore + * entries either */ + for (i = 0; address_data->probe[i] != I2C_CLIENT_END; i += 2) + { + if (address_data->probe[i] == adap_id + || address_data->probe[i] == ANY_I2C_BUS) + { + dev_dbg(&adapter->dev, "found probe parameter for " + "adapter %d, addr 0x%02x\n", adap_id, + address_data->probe[i + 1]); + err = i2c_probe_address(adapter, + address_data->probe[i + 1], + -1, found_proc); + if (err) + { + return(err); + } + } + } + + /* Normal entries are done last, unless shadowed by an ignore entry */ + for (i = 0; address_data->normal_i2c[i] != I2C_CLIENT_END; i += 1) + { + int j, ignore; + + ignore = 0; + for (j = 0; address_data->ignore[j] != I2C_CLIENT_END; + j += 2) + { + if ((address_data->ignore[j] == adap_id || + address_data->ignore[j] == ANY_I2C_BUS) + && address_data->ignore[j + 1] + == address_data->normal_i2c[i]) + { + dev_dbg(&adapter->dev, "found ignore " + "parameter for adapter %d, " + "addr 0x%02x\n", adap_id, + address_data->ignore[j + 1]); + } + ignore = 1; + break; + } + if (ignore) + { + continue; + } + + dev_dbg(&adapter->dev, "found normal entry for adapter %d, " + "addr 0x%02x\n", adap_id, + address_data->normal_i2c[i]); + err = i2c_probe_address(adapter, address_data->normal_i2c[i], + -1, found_proc); + if (err) + { + return(err); + } + } + + return(0); +} /* i2c_probe */ + +struct i2c_adapter *i2c_get_adapter(int id) +{ + struct i2c_adapter *adapter; + + down(&core_lists); + adapter = (struct i2c_adapter *)idr_find(&i2c_adapter_idr, id); + if (adapter && !try_module_get(adapter->owner)) + { + adapter = NULL; + } + + up(&core_lists); + return(adapter); +} + +void i2c_put_adapter(struct i2c_adapter *adap) +{ + module_put(adap->owner); +} + +/* The SMBus parts */ + +#define POLY (0x1070U << 3) +static u8 +crc8(u16 data) +{ + int i; + + for (i = 0; i < 8; i++) + { + if (data & 0x8000) + { + data = data ^ POLY; + } + data = data << 1; + } + return((u8)(data >> 8)); +} + +/* CRC over count bytes in the first array plus the bytes in the rest + * array if it is non-null. rest[0] is the (length of rest) - 1 + * and is included. */ +static u8 i2c_smbus_partial_pec(u8 crc, int count, u8 *first, u8 *rest) +{ + int i; + + for (i = 0; i < count; i++) + { + crc = crc8((crc ^ first[i]) << 8); + } + if (rest != NULL) + { + for (i = 0; i <= rest[0]; i++) + { + crc = crc8((crc ^ rest[i]) << 8); + } + } + return(crc); +} + +static u8 i2c_smbus_pec(int count, u8 *first, u8 *rest) +{ + return(i2c_smbus_partial_pec(0, count, first, rest)); +} + +/* Returns new "size" (transaction type) + * Note that we convert byte to byte_data and byte_data to word_data + * rather than invent new xxx_PEC transactions. */ +static int i2c_smbus_add_pec(u16 addr, u8 command, int size, + union i2c_smbus_data *data) +{ + u8 buf[3]; + + buf[0] = addr << 1; + buf[1] = command; + switch (size) + { + case I2C_SMBUS_BYTE: + data->byte = i2c_smbus_pec(2, buf, NULL); + size = I2C_SMBUS_BYTE_DATA; + break; + + case I2C_SMBUS_BYTE_DATA: + buf[2] = data->byte; + data->word = buf[2] || + (i2c_smbus_pec(3, buf, NULL) << 8); + size = I2C_SMBUS_WORD_DATA; + break; + + case I2C_SMBUS_WORD_DATA: + /* unsupported */ + break; + + case I2C_SMBUS_BLOCK_DATA: + data->block[data->block[0] + 1] = + i2c_smbus_pec(2, buf, data->block); + size = I2C_SMBUS_BLOCK_DATA_PEC; + break; + } + return(size); +} + +static int i2c_smbus_check_pec(u16 addr, u8 command, int size, u8 partial, + union i2c_smbus_data *data) +{ + u8 buf[3], rpec, cpec; + + buf[1] = command; + switch (size) + { + case I2C_SMBUS_BYTE_DATA: + buf[0] = (addr << 1) | 1; + cpec = i2c_smbus_pec(2, buf, NULL); + rpec = data->byte; + break; + + case I2C_SMBUS_WORD_DATA: + buf[0] = (addr << 1) | 1; + buf[2] = data->word & 0xff; + cpec = i2c_smbus_pec(3, buf, NULL); + rpec = data->word >> 8; + break; + + case I2C_SMBUS_WORD_DATA_PEC: + /* unsupported */ + cpec = rpec = 0; + break; + + case I2C_SMBUS_PROC_CALL_PEC: + /* unsupported */ + cpec = rpec = 0; + break; + + case I2C_SMBUS_BLOCK_DATA_PEC: + buf[0] = (addr << 1); + buf[2] = (addr << 1) | 1; + cpec = i2c_smbus_pec(3, buf, data->block); + rpec = data->block[data->block[0] + 1]; + break; + + case I2C_SMBUS_BLOCK_PROC_CALL_PEC: + buf[0] = (addr << 1) | 1; + rpec = i2c_smbus_partial_pec(partial, 1, + buf, data->block); + cpec = data->block[data->block[0] + 1]; + break; + + default: + cpec = rpec = 0; + break; + } /* switch */ + if (rpec != cpec) + { + pr_debug("i2c-core: Bad PEC 0x%02x vs. 0x%02x\n", + rpec, cpec); + return(-1); + } + return(0); +} /* i2c_smbus_check_pec */ + +s32 i2c_smbus_write_quick(struct i2c_client *client, u8 value) +{ + return(i2c_smbus_xfer(client->adapter, client->addr, client->flags, + value, 0, I2C_SMBUS_QUICK, NULL)); +} + +s32 i2c_smbus_read_byte(struct i2c_client *client) +{ + union i2c_smbus_data data; + + if (i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_READ, 0, I2C_SMBUS_BYTE, &data)) + { + return(-1); + } + else + { + return(0x0FF & data.byte); + } +} + +s32 i2c_smbus_write_byte(struct i2c_client *client, u8 value) +{ + union i2c_smbus_data data; /* only for PEC */ + + return(i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_WRITE, value, I2C_SMBUS_BYTE, &data)); +} + +s32 i2c_smbus_read_byte_data(struct i2c_client *client, u8 command) +{ + union i2c_smbus_data data; + + if (i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_READ, command, I2C_SMBUS_BYTE_DATA, &data)) + { + return(-1); + } + else + { + return(0x0FF & data.byte); + } +} + +s32 i2c_smbus_write_byte_data(struct i2c_client *client, u8 command, u8 value) +{ + union i2c_smbus_data data; + + data.byte = value; + return(i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_WRITE, command, + I2C_SMBUS_BYTE_DATA, &data)); +} + +s32 i2c_smbus_read_word_data(struct i2c_client *client, u8 command) +{ + union i2c_smbus_data data; + + if (i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_READ, command, I2C_SMBUS_WORD_DATA, &data)) + { + return(-1); + } + else + { + return(0x0FFFF & data.word); + } +} + +s32 i2c_smbus_write_word_data(struct i2c_client *client, u8 command, u16 value) +{ + union i2c_smbus_data data; + + data.word = value; + return(i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_WRITE, command, + I2C_SMBUS_WORD_DATA, &data)); +} + +s32 i2c_smbus_write_block_data(struct i2c_client *client, u8 command, + u8 length, u8 *values) +{ + union i2c_smbus_data data; + int i; + + if (length > I2C_SMBUS_BLOCK_MAX) + { + length = I2C_SMBUS_BLOCK_MAX; + } + for (i = 1; i <= length; i++) + { + data.block[i] = values[i - 1]; + } + data.block[0] = length; + return(i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_WRITE, command, + I2C_SMBUS_BLOCK_DATA, &data)); +} + +/* Returns the number of read bytes */ +s32 i2c_smbus_read_i2c_block_data(struct i2c_client *client, u8 command, u8 *values) +{ + union i2c_smbus_data data; + int i; + + if (i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_READ, command, + I2C_SMBUS_I2C_BLOCK_DATA, &data)) + { + return(-1); + } + else + { + for (i = 1; i <= data.block[0]; i++) + { + values[i - 1] = data.block[i]; + } + return(data.block[0]); + } +} + +/* Simulate a SMBus command using the i2c protocol + * No checking of parameters is done! */ +static s32 i2c_smbus_xfer_emulated(struct i2c_adapter *adapter, u16 addr, + unsigned short flags, + char read_write, u8 command, int size, + union i2c_smbus_data *data) +{ + /* So we need to generate a series of msgs. In the case of writing, we + * need to use only one message; when reading, we need two. We initialize + * most things with sane defaults, to keep the code below somewhat + * simpler. */ + unsigned char msgbuf0[34]; + unsigned char msgbuf1[34]; + int num = read_write == I2C_SMBUS_READ ? 2 : 1; + struct i2c_msg msg[2] = { { addr, flags, 1, msgbuf0 }, + { addr, flags | I2C_M_RD, 0, msgbuf1 } }; + int i; + + msgbuf0[0] = command; + switch (size) + { + case I2C_SMBUS_QUICK: + msg[0].len = 0; + /* Special case: The read/write field is used as data */ + msg[0].flags = flags | (read_write == I2C_SMBUS_READ) ? I2C_M_RD : 0; + num = 1; + break; + + case I2C_SMBUS_BYTE: + if (read_write == I2C_SMBUS_READ) + { + /* Special case: only a read! */ + msg[0].flags = I2C_M_RD | flags; + num = 1; + } + break; + + case I2C_SMBUS_BYTE_DATA: + if (read_write == I2C_SMBUS_READ) + { + msg[1].len = 1; + } + else + { + msg[0].len = 2; + msgbuf0[1] = data->byte; + } + break; + + case I2C_SMBUS_WORD_DATA: + if (read_write == I2C_SMBUS_READ) + { + msg[1].len = 2; + } + else + { + msg[0].len = 3; + msgbuf0[1] = data->word & 0xff; + msgbuf0[2] = (data->word >> 8) & 0xff; + } + break; + + case I2C_SMBUS_PROC_CALL: + num = 2; /* Special case */ + read_write = I2C_SMBUS_READ; + msg[0].len = 3; + msg[1].len = 2; + msgbuf0[1] = data->word & 0xff; + msgbuf0[2] = (data->word >> 8) & 0xff; + break; + + case I2C_SMBUS_BLOCK_DATA: + case I2C_SMBUS_BLOCK_DATA_PEC: + if (read_write == I2C_SMBUS_READ) + { + dev_err(&adapter->dev, "Block read not supported " + "under I2C emulation!\n"); + return(-1); + } + else + { + msg[0].len = data->block[0] + 2; + if (msg[0].len > I2C_SMBUS_BLOCK_MAX + 2) + { + dev_err(&adapter->dev, "smbus_access called with " + "invalid block write size (%d)\n", + data->block[0]); + return(-1); + } + if (size == I2C_SMBUS_BLOCK_DATA_PEC) + { + (msg[0].len)++; + } + for (i = 1; i <= msg[0].len; i++) + { + msgbuf0[i] = data->block[i - 1]; + } + } + break; + + case I2C_SMBUS_BLOCK_PROC_CALL: + case I2C_SMBUS_BLOCK_PROC_CALL_PEC: + dev_dbg(&adapter->dev, "Block process call not supported " + "under I2C emulation!\n"); + return(-1); + + case I2C_SMBUS_I2C_BLOCK_DATA: + if (read_write == I2C_SMBUS_READ) + { + msg[1].len = I2C_SMBUS_I2C_BLOCK_MAX; + } + else + { + msg[0].len = data->block[0] + 1; + if (msg[0].len > I2C_SMBUS_I2C_BLOCK_MAX + 1) + { + dev_err(&adapter->dev, "i2c_smbus_xfer_emulated called with " + "invalid block write size (%d)\n", + data->block[0]); + return(-1); + } + for (i = 1; i <= data->block[0]; i++) + { + msgbuf0[i] = data->block[i]; + } + } + break; + + default: + dev_err(&adapter->dev, "smbus_access called with invalid size (%d)\n", + size); + return(-1); + } /* switch */ + + if (i2c_transfer(adapter, msg, num) < 0) + { + return(-1); + } + + if (read_write == I2C_SMBUS_READ) + { + switch (size) + { + case I2C_SMBUS_BYTE: + data->byte = msgbuf0[0]; + break; + + case I2C_SMBUS_BYTE_DATA: + data->byte = msgbuf1[0]; + break; + + case I2C_SMBUS_WORD_DATA: + case I2C_SMBUS_PROC_CALL: + data->word = msgbuf1[0] | (msgbuf1[1] << 8); + break; + + case I2C_SMBUS_I2C_BLOCK_DATA: + /* fixed at 32 for now */ + data->block[0] = I2C_SMBUS_I2C_BLOCK_MAX; + for (i = 0; i < I2C_SMBUS_I2C_BLOCK_MAX; i++) + { + data->block[i + 1] = msgbuf1[i]; + } + break; + } + } + return(0); +} /* i2c_smbus_xfer_emulated */ + + +s32 i2c_smbus_xfer(struct i2c_adapter *adapter, u16 addr, unsigned short flags, + char read_write, u8 command, int size, + union i2c_smbus_data *data) +{ + s32 res; + int swpec = 0; + u8 partial = 0; + + flags &= I2C_M_TEN | I2C_CLIENT_PEC; + if ((flags & I2C_CLIENT_PEC) && + !(i2c_check_functionality(adapter, I2C_FUNC_SMBUS_HWPEC_CALC))) + { + swpec = 1; + if (read_write == I2C_SMBUS_READ && + size == I2C_SMBUS_BLOCK_DATA) + { + size = I2C_SMBUS_BLOCK_DATA_PEC; + } + else if (size == I2C_SMBUS_PROC_CALL) + { + size = I2C_SMBUS_PROC_CALL_PEC; + } + else if (size == I2C_SMBUS_BLOCK_PROC_CALL) + { + i2c_smbus_add_pec(addr, command, + I2C_SMBUS_BLOCK_DATA, data); + partial = data->block[data->block[0] + 1]; + size = I2C_SMBUS_BLOCK_PROC_CALL_PEC; + } + else if (read_write == I2C_SMBUS_WRITE && + size != I2C_SMBUS_QUICK && + size != I2C_SMBUS_I2C_BLOCK_DATA) + { + size = i2c_smbus_add_pec(addr, command, size, data); + } + } + + if (adapter->algo->smbus_xfer) + { + down(&adapter->bus_lock); + res = adapter->algo->smbus_xfer(adapter, addr, flags, read_write, + command, size, data); + up(&adapter->bus_lock); + } + else + { + res = i2c_smbus_xfer_emulated(adapter, addr, flags, read_write, + command, size, data); + } + + if (res >= 0 && swpec && + size != I2C_SMBUS_QUICK && size != I2C_SMBUS_I2C_BLOCK_DATA && + (read_write == I2C_SMBUS_READ || size == I2C_SMBUS_PROC_CALL_PEC || + size == I2C_SMBUS_BLOCK_PROC_CALL_PEC)) + { + if (i2c_smbus_check_pec(addr, command, size, partial, data)) + { + return(-1); + } + } + return(res); +} /* i2c_smbus_xfer */ + + +/* Next four are needed by i2c-isa */ +EXPORT_SYMBOL_GPL(i2c_adapter_dev_release); +EXPORT_SYMBOL_GPL(i2c_adapter_driver); +EXPORT_SYMBOL_GPL(i2c_adapter_class); +EXPORT_SYMBOL_GPL(i2c_bus_type); + +EXPORT_SYMBOL(i2c_add_adapter); +EXPORT_SYMBOL(i2c_del_adapter); +EXPORT_SYMBOL(i2c_add_driver); +EXPORT_SYMBOL(i2c_del_driver); +EXPORT_SYMBOL(i2c_attach_client); +EXPORT_SYMBOL(i2c_detach_client); +EXPORT_SYMBOL(i2c_use_client); +EXPORT_SYMBOL(i2c_release_client); +EXPORT_SYMBOL(i2c_clients_command); +EXPORT_SYMBOL(i2c_check_addr); + +EXPORT_SYMBOL(i2c_master_send); +EXPORT_SYMBOL(i2c_master_recv); +EXPORT_SYMBOL(i2c_control); +EXPORT_SYMBOL(i2c_transfer); +EXPORT_SYMBOL(i2c_get_adapter); +EXPORT_SYMBOL(i2c_put_adapter); +EXPORT_SYMBOL(i2c_probe); + +EXPORT_SYMBOL(i2c_smbus_xfer); +EXPORT_SYMBOL(i2c_smbus_write_quick); +EXPORT_SYMBOL(i2c_smbus_read_byte); +EXPORT_SYMBOL(i2c_smbus_write_byte); +EXPORT_SYMBOL(i2c_smbus_read_byte_data); +EXPORT_SYMBOL(i2c_smbus_write_byte_data); +EXPORT_SYMBOL(i2c_smbus_read_word_data); +EXPORT_SYMBOL(i2c_smbus_write_word_data); +EXPORT_SYMBOL(i2c_smbus_write_block_data); +EXPORT_SYMBOL(i2c_smbus_read_i2c_block_data); + +MODULE_AUTHOR("Simon G. Vogl <simon@tk.uni-linz.ac.at>"); +MODULE_DESCRIPTION("I2C-Bus main module"); +MODULE_LICENSE("GPL"); diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02001-directfb.h b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02001-directfb.h new file mode 100644 index 00000000..3c7ffc18 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02001-directfb.h @@ -0,0 +1,2001 @@ +typedef unsigned int size_t; +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; +typedef signed char __int8_t; +typedef unsigned char __uint8_t; +typedef signed short int __int16_t; +typedef unsigned short int __uint16_t; +typedef signed int __int32_t; +typedef unsigned int __uint32_t; +__extension__ typedef signed long long int __int64_t; +__extension__ typedef unsigned long long int __uint64_t; +__extension__ typedef long long int __quad_t; +__extension__ typedef unsigned long long int __u_quad_t; +__extension__ typedef __u_quad_t __dev_t; +__extension__ typedef unsigned int __uid_t; +__extension__ typedef unsigned int __gid_t; +__extension__ typedef unsigned long int __ino_t; +__extension__ typedef __u_quad_t __ino64_t; +__extension__ typedef unsigned int __mode_t; +__extension__ typedef unsigned int __nlink_t; +__extension__ typedef long int __off_t; +__extension__ typedef __quad_t __off64_t; +__extension__ typedef int __pid_t; +__extension__ typedef struct +{ + int __val[2]; +} __fsid_t; +__extension__ typedef long int __clock_t; +__extension__ typedef unsigned long int __rlim_t; +__extension__ typedef __u_quad_t __rlim64_t; +__extension__ typedef unsigned int __id_t; +__extension__ typedef long int __time_t; +__extension__ typedef unsigned int __useconds_t; +__extension__ typedef long int __suseconds_t; +__extension__ typedef int __daddr_t; +__extension__ typedef long int __swblk_t; +__extension__ typedef int __key_t; +__extension__ typedef int __clockid_t; +__extension__ typedef int __timer_t; +__extension__ typedef long int __blksize_t; +__extension__ typedef long int __blkcnt_t; +__extension__ typedef __quad_t __blkcnt64_t; +__extension__ typedef unsigned long int __fsblkcnt_t; +__extension__ typedef __u_quad_t __fsblkcnt64_t; +__extension__ typedef unsigned long int __fsfilcnt_t; +__extension__ typedef __u_quad_t __fsfilcnt64_t; +__extension__ typedef int __ssize_t; +typedef __off64_t __loff_t; +typedef __quad_t * __qaddr_t; +typedef char * __caddr_t; +__extension__ typedef int __intptr_t; +__extension__ typedef unsigned int __socklen_t; +typedef __u_char u_char; +typedef __u_short u_short; +typedef __u_int u_int; +typedef __u_long u_long; +typedef __quad_t quad_t; +typedef __u_quad_t u_quad_t; +typedef __fsid_t fsid_t; +typedef __loff_t loff_t; +typedef __ino_t ino_t; +typedef __dev_t dev_t; +typedef __gid_t gid_t; +typedef __mode_t mode_t; +typedef __nlink_t nlink_t; +typedef __uid_t uid_t; +typedef __off_t off_t; +typedef __pid_t pid_t; +typedef __id_t id_t; +typedef __ssize_t ssize_t; +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; +typedef __key_t key_t; +typedef __time_t time_t; +typedef __clockid_t clockid_t; +typedef __timer_t timer_t; +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; +typedef int int8_t __attribute__((__mode__(__QI__))); +typedef int int16_t __attribute__((__mode__(__HI__))); +typedef int int32_t __attribute__((__mode__(__SI__))); +typedef int int64_t __attribute__((__mode__(__DI__))); +typedef unsigned int u_int8_t __attribute__((__mode__(__QI__))); +typedef unsigned int u_int16_t __attribute__((__mode__(__HI__))); +typedef unsigned int u_int32_t __attribute__((__mode__(__SI__))); +typedef unsigned int u_int64_t __attribute__((__mode__(__DI__))); +typedef int register_t __attribute__((__mode__(__word__))); +typedef int __sig_atomic_t; +typedef struct +{ + unsigned long int __val[(1024 / (8 * sizeof(unsigned long int)))]; +} __sigset_t; +typedef __sigset_t sigset_t; +struct timespec +{ + __time_t tv_sec; + long int tv_nsec; +}; +struct timeval +{ + __time_t tv_sec; + __suseconds_t tv_usec; +}; +typedef __suseconds_t suseconds_t; +typedef long int __fd_mask; +typedef struct +{ + __fd_mask __fds_bits[1024 / (8 * sizeof(__fd_mask))]; +} fd_set; +typedef __fd_mask fd_mask; +extern int select(int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +__extension__ +extern __inline unsigned int gnu_dev_major(unsigned long long int __dev) +__attribute__((__nothrow__)); +__extension__ +extern __inline unsigned int gnu_dev_minor(unsigned long long int __dev) +__attribute__((__nothrow__)); +__extension__ +extern __inline unsigned long long int gnu_dev_makedev(unsigned int __major, + unsigned int __minor) +__attribute__((__nothrow__)); + +__extension__ extern __inline unsigned int +__attribute__((__nothrow__)) gnu_dev_major(unsigned long long int __dev) +{ + return(((__dev >> 8) & 0xfff) | ((unsigned int)(__dev >> 32) & ~0xfff)); +} + +__extension__ extern __inline unsigned int +__attribute__((__nothrow__)) gnu_dev_minor(unsigned long long int __dev) +{ + return((__dev & 0xff) | ((unsigned int)(__dev >> 12) & ~0xff)); +} + +__extension__ extern __inline unsigned long long int +__attribute__((__nothrow__)) gnu_dev_makedev(unsigned int __major, unsigned int __minor) +{ + return((__minor & 0xff) | ((__major & 0xfff) << 8) + | (((unsigned long long int)(__minor & ~0xff)) << 12) + | (((unsigned long long int)(__major & ~0xfff)) << 32)); +} + +typedef __blkcnt_t blkcnt_t; +typedef __fsblkcnt_t fsblkcnt_t; +typedef __fsfilcnt_t fsfilcnt_t; +struct __sched_param +{ + int __sched_priority; +}; +typedef int __atomic_lock_t; +struct _pthread_fastlock +{ + long int __status; + __atomic_lock_t __spinlock; +}; +typedef struct _pthread_descr_struct *_pthread_descr; +typedef struct __pthread_attr_s +{ + int __detachstate; + int __schedpolicy; + struct __sched_param __schedparam; + int __inheritsched; + int __scope; + size_t __guardsize; + int __stackaddr_set; + void *__stackaddr; + size_t __stacksize; +} pthread_attr_t; +__extension__ typedef long long __pthread_cond_align_t; +typedef struct +{ + struct _pthread_fastlock __c_lock; + _pthread_descr __c_waiting; + char __padding[48 - sizeof(struct _pthread_fastlock) + - sizeof(_pthread_descr) - sizeof(__pthread_cond_align_t)]; + __pthread_cond_align_t __align; +} pthread_cond_t; +typedef struct +{ + int __dummy; +} pthread_condattr_t; +typedef unsigned int pthread_key_t; +typedef struct +{ + int __m_reserved; + int __m_count; + _pthread_descr __m_owner; + int __m_kind; + struct _pthread_fastlock __m_lock; +} pthread_mutex_t; +typedef struct +{ + int __mutexkind; +} pthread_mutexattr_t; +typedef int pthread_once_t; +typedef unsigned long int pthread_t; +typedef struct +{ + unsigned long fds_bits [(1024 / (8 * sizeof(unsigned long)))]; +} __kernel_fd_set; +typedef void (*__kernel_sighandler_t)(int); +typedef int __kernel_key_t; +typedef int __kernel_mqd_t; +typedef unsigned long __kernel_ino_t; +typedef unsigned short __kernel_mode_t; +typedef unsigned short __kernel_nlink_t; +typedef long __kernel_off_t; +typedef int __kernel_pid_t; +typedef unsigned short __kernel_ipc_pid_t; +typedef unsigned short __kernel_uid_t; +typedef unsigned short __kernel_gid_t; +typedef unsigned int __kernel_size_t; +typedef int __kernel_ssize_t; +typedef int __kernel_ptrdiff_t; +typedef long __kernel_time_t; +typedef long __kernel_suseconds_t; +typedef long __kernel_clock_t; +typedef int __kernel_timer_t; +typedef int __kernel_clockid_t; +typedef int __kernel_daddr_t; +typedef char * __kernel_caddr_t; +typedef unsigned short __kernel_uid16_t; +typedef unsigned short __kernel_gid16_t; +typedef unsigned int __kernel_uid32_t; +typedef unsigned int __kernel_gid32_t; +typedef unsigned short __kernel_old_uid_t; +typedef unsigned short __kernel_old_gid_t; +typedef unsigned short __kernel_old_dev_t; +typedef long long __kernel_loff_t; +typedef struct +{ + int __val[2]; +} __kernel_fsid_t; +typedef unsigned short umode_t; +typedef __signed__ char __s8; +typedef unsigned char __u8; +typedef __signed__ short __s16; +typedef unsigned short __u16; +typedef __signed__ int __s32; +typedef unsigned int __u32; +typedef __signed__ long long __s64; +typedef unsigned long long __u64; +typedef __u16 __le16; +typedef __u16 __be16; +typedef __u32 __le32; +typedef __u32 __be32; +typedef __u64 __le64; +typedef __u64 __be64; +struct timezone +{ + int tz_minuteswest; + int tz_dsttime; +}; +typedef struct timezone *__restrict __timezone_ptr_t; +extern int gettimeofday(struct timeval *__restrict __tv, + __timezone_ptr_t __tz) __attribute__((__nothrow__)); +extern int settimeofday(__const struct timeval *__tv, + __const struct timezone *__tz) __attribute__((__nothrow__)); +extern int adjtime(__const struct timeval *__delta, + struct timeval *__olddelta) __attribute__((__nothrow__)); + +enum __itimer_which +{ + ITIMER_REAL = 0, + ITIMER_VIRTUAL = 1, + ITIMER_PROF = 2 +}; +struct itimerval +{ + struct timeval it_interval; + struct timeval it_value; +}; +typedef int __itimer_which_t; +extern int getitimer(__itimer_which_t __which, + struct itimerval *__value) __attribute__((__nothrow__)); +extern int setitimer(__itimer_which_t __which, + __const struct itimerval *__restrict __new, + struct itimerval *__restrict __old) __attribute__((__nothrow__)); +extern int utimes(__const char *__file, __const struct timeval __tvp[2]) +__attribute__((__nothrow__)); +extern int lutimes(__const char *__file, __const struct timeval __tvp[2]) +__attribute__((__nothrow__)); +extern int futimes(int __fd, __const struct timeval __tvp[2]) __attribute__((__nothrow__)); + +typedef enum +{ + DIKT_UNICODE = 0x0000, + DIKT_SPECIAL = 0xF000, + DIKT_FUNCTION = 0xF100, + DIKT_MODIFIER = 0xF200, + DIKT_LOCK = 0xF300, + DIKT_DEAD = 0xF400, + DIKT_CUSTOM = 0xF500, + DIKT_IDENTIFIER = 0xF600 +} DFBInputDeviceKeyType; +typedef enum +{ + DIMKI_SHIFT, + DIMKI_CONTROL, + DIMKI_ALT, + DIMKI_ALTGR, + DIMKI_META, + DIMKI_SUPER, + DIMKI_HYPER, + DIMKI_FIRST = DIMKI_SHIFT, + DIMKI_LAST = DIMKI_HYPER +} DFBInputDeviceModifierKeyIdentifier; +typedef enum +{ + DIKI_UNKNOWN = ((DIKT_IDENTIFIER) | (0)), + DIKI_A, + DIKI_B, + DIKI_C, + DIKI_D, + DIKI_E, + DIKI_F, + DIKI_G, + DIKI_H, + DIKI_I, + DIKI_J, + DIKI_K, + DIKI_L, + DIKI_M, + DIKI_N, + DIKI_O, + DIKI_P, + DIKI_Q, + DIKI_R, + DIKI_S, + DIKI_T, + DIKI_U, + DIKI_V, + DIKI_W, + DIKI_X, + DIKI_Y, + DIKI_Z, + DIKI_0, + DIKI_1, + DIKI_2, + DIKI_3, + DIKI_4, + DIKI_5, + DIKI_6, + DIKI_7, + DIKI_8, + DIKI_9, + DIKI_F1, + DIKI_F2, + DIKI_F3, + DIKI_F4, + DIKI_F5, + DIKI_F6, + DIKI_F7, + DIKI_F8, + DIKI_F9, + DIKI_F10, + DIKI_F11, + DIKI_F12, + DIKI_SHIFT_L, + DIKI_SHIFT_R, + DIKI_CONTROL_L, + DIKI_CONTROL_R, + DIKI_ALT_L, + DIKI_ALT_R, + DIKI_ALTGR, + DIKI_META_L, + DIKI_META_R, + DIKI_SUPER_L, + DIKI_SUPER_R, + DIKI_HYPER_L, + DIKI_HYPER_R, + DIKI_CAPS_LOCK, + DIKI_NUM_LOCK, + DIKI_SCROLL_LOCK, + DIKI_ESCAPE, + DIKI_LEFT, + DIKI_RIGHT, + DIKI_UP, + DIKI_DOWN, + DIKI_TAB, + DIKI_ENTER, + DIKI_SPACE, + DIKI_BACKSPACE, + DIKI_INSERT, + DIKI_DELETE, + DIKI_HOME, + DIKI_END, + DIKI_PAGE_UP, + DIKI_PAGE_DOWN, + DIKI_PRINT, + DIKI_PAUSE, + DIKI_QUOTE_LEFT, + DIKI_MINUS_SIGN, + DIKI_EQUALS_SIGN, + DIKI_BRACKET_LEFT, + DIKI_BRACKET_RIGHT, + DIKI_BACKSLASH, + DIKI_SEMICOLON, + DIKI_QUOTE_RIGHT, + DIKI_COMMA, + DIKI_PERIOD, + DIKI_SLASH, + DIKI_LESS_SIGN, + DIKI_KP_DIV, + DIKI_KP_MULT, + DIKI_KP_MINUS, + DIKI_KP_PLUS, + DIKI_KP_ENTER, + DIKI_KP_SPACE, + DIKI_KP_TAB, + DIKI_KP_F1, + DIKI_KP_F2, + DIKI_KP_F3, + DIKI_KP_F4, + DIKI_KP_EQUAL, + DIKI_KP_SEPARATOR, + DIKI_KP_DECIMAL, + DIKI_KP_0, + DIKI_KP_1, + DIKI_KP_2, + DIKI_KP_3, + DIKI_KP_4, + DIKI_KP_5, + DIKI_KP_6, + DIKI_KP_7, + DIKI_KP_8, + DIKI_KP_9, + DIKI_KEYDEF_END, + DIKI_NUMBER_OF_KEYS = DIKI_KEYDEF_END - ((DIKT_IDENTIFIER) | (0)) +} DFBInputDeviceKeyIdentifier; +typedef enum +{ + DIKS_NULL = ((DIKT_UNICODE) | (0x00)), + DIKS_BACKSPACE = ((DIKT_UNICODE) | (0x08)), + DIKS_TAB = ((DIKT_UNICODE) | (0x09)), + DIKS_RETURN = ((DIKT_UNICODE) | (0x0D)), + DIKS_CANCEL = ((DIKT_UNICODE) | (0x18)), + DIKS_ESCAPE = ((DIKT_UNICODE) | (0x1B)), + DIKS_SPACE = ((DIKT_UNICODE) | (0x20)), + DIKS_EXCLAMATION_MARK = ((DIKT_UNICODE) | (0x21)), + DIKS_QUOTATION = ((DIKT_UNICODE) | (0x22)), + DIKS_NUMBER_SIGN = ((DIKT_UNICODE) | (0x23)), + DIKS_DOLLAR_SIGN = ((DIKT_UNICODE) | (0x24)), + DIKS_PERCENT_SIGN = ((DIKT_UNICODE) | (0x25)), + DIKS_AMPERSAND = ((DIKT_UNICODE) | (0x26)), + DIKS_APOSTROPHE = ((DIKT_UNICODE) | (0x27)), + DIKS_PARENTHESIS_LEFT = ((DIKT_UNICODE) | (0x28)), + DIKS_PARENTHESIS_RIGHT = ((DIKT_UNICODE) | (0x29)), + DIKS_ASTERISK = ((DIKT_UNICODE) | (0x2A)), + DIKS_PLUS_SIGN = ((DIKT_UNICODE) | (0x2B)), + DIKS_COMMA = ((DIKT_UNICODE) | (0x2C)), + DIKS_MINUS_SIGN = ((DIKT_UNICODE) | (0x2D)), + DIKS_PERIOD = ((DIKT_UNICODE) | (0x2E)), + DIKS_SLASH = ((DIKT_UNICODE) | (0x2F)), + DIKS_0 = ((DIKT_UNICODE) | (0x30)), + DIKS_1 = ((DIKT_UNICODE) | (0x31)), + DIKS_2 = ((DIKT_UNICODE) | (0x32)), + DIKS_3 = ((DIKT_UNICODE) | (0x33)), + DIKS_4 = ((DIKT_UNICODE) | (0x34)), + DIKS_5 = ((DIKT_UNICODE) | (0x35)), + DIKS_6 = ((DIKT_UNICODE) | (0x36)), + DIKS_7 = ((DIKT_UNICODE) | (0x37)), + DIKS_8 = ((DIKT_UNICODE) | (0x38)), + DIKS_9 = ((DIKT_UNICODE) | (0x39)), + DIKS_COLON = ((DIKT_UNICODE) | (0x3A)), + DIKS_SEMICOLON = ((DIKT_UNICODE) | (0x3B)), + DIKS_LESS_THAN_SIGN = ((DIKT_UNICODE) | (0x3C)), + DIKS_EQUALS_SIGN = ((DIKT_UNICODE) | (0x3D)), + DIKS_GREATER_THAN_SIGN = ((DIKT_UNICODE) | (0x3E)), + DIKS_QUESTION_MARK = ((DIKT_UNICODE) | (0x3F)), + DIKS_AT = ((DIKT_UNICODE) | (0x40)), + DIKS_CAPITAL_A = ((DIKT_UNICODE) | (0x41)), + DIKS_CAPITAL_B = ((DIKT_UNICODE) | (0x42)), + DIKS_CAPITAL_C = ((DIKT_UNICODE) | (0x43)), + DIKS_CAPITAL_D = ((DIKT_UNICODE) | (0x44)), + DIKS_CAPITAL_E = ((DIKT_UNICODE) | (0x45)), + DIKS_CAPITAL_F = ((DIKT_UNICODE) | (0x46)), + DIKS_CAPITAL_G = ((DIKT_UNICODE) | (0x47)), + DIKS_CAPITAL_H = ((DIKT_UNICODE) | (0x48)), + DIKS_CAPITAL_I = ((DIKT_UNICODE) | (0x49)), + DIKS_CAPITAL_J = ((DIKT_UNICODE) | (0x4A)), + DIKS_CAPITAL_K = ((DIKT_UNICODE) | (0x4B)), + DIKS_CAPITAL_L = ((DIKT_UNICODE) | (0x4C)), + DIKS_CAPITAL_M = ((DIKT_UNICODE) | (0x4D)), + DIKS_CAPITAL_N = ((DIKT_UNICODE) | (0x4E)), + DIKS_CAPITAL_O = ((DIKT_UNICODE) | (0x4F)), + DIKS_CAPITAL_P = ((DIKT_UNICODE) | (0x50)), + DIKS_CAPITAL_Q = ((DIKT_UNICODE) | (0x51)), + DIKS_CAPITAL_R = ((DIKT_UNICODE) | (0x52)), + DIKS_CAPITAL_S = ((DIKT_UNICODE) | (0x53)), + DIKS_CAPITAL_T = ((DIKT_UNICODE) | (0x54)), + DIKS_CAPITAL_U = ((DIKT_UNICODE) | (0x55)), + DIKS_CAPITAL_V = ((DIKT_UNICODE) | (0x56)), + DIKS_CAPITAL_W = ((DIKT_UNICODE) | (0x57)), + DIKS_CAPITAL_X = ((DIKT_UNICODE) | (0x58)), + DIKS_CAPITAL_Y = ((DIKT_UNICODE) | (0x59)), + DIKS_CAPITAL_Z = ((DIKT_UNICODE) | (0x5A)), + DIKS_SQUARE_BRACKET_LEFT = ((DIKT_UNICODE) | (0x5B)), + DIKS_BACKSLASH = ((DIKT_UNICODE) | (0x5C)), + DIKS_SQUARE_BRACKET_RIGHT = ((DIKT_UNICODE) | (0x5D)), + DIKS_CIRCUMFLEX_ACCENT = ((DIKT_UNICODE) | (0x5E)), + DIKS_UNDERSCORE = ((DIKT_UNICODE) | (0x5F)), + DIKS_GRAVE_ACCENT = ((DIKT_UNICODE) | (0x60)), + DIKS_SMALL_A = ((DIKT_UNICODE) | (0x61)), + DIKS_SMALL_B = ((DIKT_UNICODE) | (0x62)), + DIKS_SMALL_C = ((DIKT_UNICODE) | (0x63)), + DIKS_SMALL_D = ((DIKT_UNICODE) | (0x64)), + DIKS_SMALL_E = ((DIKT_UNICODE) | (0x65)), + DIKS_SMALL_F = ((DIKT_UNICODE) | (0x66)), + DIKS_SMALL_G = ((DIKT_UNICODE) | (0x67)), + DIKS_SMALL_H = ((DIKT_UNICODE) | (0x68)), + DIKS_SMALL_I = ((DIKT_UNICODE) | (0x69)), + DIKS_SMALL_J = ((DIKT_UNICODE) | (0x6A)), + DIKS_SMALL_K = ((DIKT_UNICODE) | (0x6B)), + DIKS_SMALL_L = ((DIKT_UNICODE) | (0x6C)), + DIKS_SMALL_M = ((DIKT_UNICODE) | (0x6D)), + DIKS_SMALL_N = ((DIKT_UNICODE) | (0x6E)), + DIKS_SMALL_O = ((DIKT_UNICODE) | (0x6F)), + DIKS_SMALL_P = ((DIKT_UNICODE) | (0x70)), + DIKS_SMALL_Q = ((DIKT_UNICODE) | (0x71)), + DIKS_SMALL_R = ((DIKT_UNICODE) | (0x72)), + DIKS_SMALL_S = ((DIKT_UNICODE) | (0x73)), + DIKS_SMALL_T = ((DIKT_UNICODE) | (0x74)), + DIKS_SMALL_U = ((DIKT_UNICODE) | (0x75)), + DIKS_SMALL_V = ((DIKT_UNICODE) | (0x76)), + DIKS_SMALL_W = ((DIKT_UNICODE) | (0x77)), + DIKS_SMALL_X = ((DIKT_UNICODE) | (0x78)), + DIKS_SMALL_Y = ((DIKT_UNICODE) | (0x79)), + DIKS_SMALL_Z = ((DIKT_UNICODE) | (0x7A)), + DIKS_CURLY_BRACKET_LEFT = ((DIKT_UNICODE) | (0x7B)), + DIKS_VERTICAL_BAR = ((DIKT_UNICODE) | (0x7C)), + DIKS_CURLY_BRACKET_RIGHT = ((DIKT_UNICODE) | (0x7D)), + DIKS_TILDE = ((DIKT_UNICODE) | (0x7E)), + DIKS_DELETE = ((DIKT_UNICODE) | (0x7F)), + DIKS_ENTER = DIKS_RETURN, + DIKS_CURSOR_LEFT = ((DIKT_SPECIAL) | (0x00)), + DIKS_CURSOR_RIGHT = ((DIKT_SPECIAL) | (0x01)), + DIKS_CURSOR_UP = ((DIKT_SPECIAL) | (0x02)), + DIKS_CURSOR_DOWN = ((DIKT_SPECIAL) | (0x03)), + DIKS_INSERT = ((DIKT_SPECIAL) | (0x04)), + DIKS_HOME = ((DIKT_SPECIAL) | (0x05)), + DIKS_END = ((DIKT_SPECIAL) | (0x06)), + DIKS_PAGE_UP = ((DIKT_SPECIAL) | (0x07)), + DIKS_PAGE_DOWN = ((DIKT_SPECIAL) | (0x08)), + DIKS_PRINT = ((DIKT_SPECIAL) | (0x09)), + DIKS_PAUSE = ((DIKT_SPECIAL) | (0x0A)), + DIKS_OK = ((DIKT_SPECIAL) | (0x0B)), + DIKS_SELECT = ((DIKT_SPECIAL) | (0x0C)), + DIKS_GOTO = ((DIKT_SPECIAL) | (0x0D)), + DIKS_CLEAR = ((DIKT_SPECIAL) | (0x0E)), + DIKS_POWER = ((DIKT_SPECIAL) | (0x0F)), + DIKS_POWER2 = ((DIKT_SPECIAL) | (0x10)), + DIKS_OPTION = ((DIKT_SPECIAL) | (0x11)), + DIKS_MENU = ((DIKT_SPECIAL) | (0x12)), + DIKS_HELP = ((DIKT_SPECIAL) | (0x13)), + DIKS_INFO = ((DIKT_SPECIAL) | (0x14)), + DIKS_TIME = ((DIKT_SPECIAL) | (0x15)), + DIKS_VENDOR = ((DIKT_SPECIAL) | (0x16)), + DIKS_ARCHIVE = ((DIKT_SPECIAL) | (0x17)), + DIKS_PROGRAM = ((DIKT_SPECIAL) | (0x18)), + DIKS_CHANNEL = ((DIKT_SPECIAL) | (0x19)), + DIKS_FAVORITES = ((DIKT_SPECIAL) | (0x1A)), + DIKS_EPG = ((DIKT_SPECIAL) | (0x1B)), + DIKS_PVR = ((DIKT_SPECIAL) | (0x1C)), + DIKS_MHP = ((DIKT_SPECIAL) | (0x1D)), + DIKS_LANGUAGE = ((DIKT_SPECIAL) | (0x1E)), + DIKS_TITLE = ((DIKT_SPECIAL) | (0x1F)), + DIKS_SUBTITLE = ((DIKT_SPECIAL) | (0x20)), + DIKS_ANGLE = ((DIKT_SPECIAL) | (0x21)), + DIKS_ZOOM = ((DIKT_SPECIAL) | (0x22)), + DIKS_MODE = ((DIKT_SPECIAL) | (0x23)), + DIKS_KEYBOARD = ((DIKT_SPECIAL) | (0x24)), + DIKS_PC = ((DIKT_SPECIAL) | (0x25)), + DIKS_SCREEN = ((DIKT_SPECIAL) | (0x26)), + DIKS_TV = ((DIKT_SPECIAL) | (0x27)), + DIKS_TV2 = ((DIKT_SPECIAL) | (0x28)), + DIKS_VCR = ((DIKT_SPECIAL) | (0x29)), + DIKS_VCR2 = ((DIKT_SPECIAL) | (0x2A)), + DIKS_SAT = ((DIKT_SPECIAL) | (0x2B)), + DIKS_SAT2 = ((DIKT_SPECIAL) | (0x2C)), + DIKS_CD = ((DIKT_SPECIAL) | (0x2D)), + DIKS_TAPE = ((DIKT_SPECIAL) | (0x2E)), + DIKS_RADIO = ((DIKT_SPECIAL) | (0x2F)), + DIKS_TUNER = ((DIKT_SPECIAL) | (0x30)), + DIKS_PLAYER = ((DIKT_SPECIAL) | (0x31)), + DIKS_TEXT = ((DIKT_SPECIAL) | (0x32)), + DIKS_DVD = ((DIKT_SPECIAL) | (0x33)), + DIKS_AUX = ((DIKT_SPECIAL) | (0x34)), + DIKS_MP3 = ((DIKT_SPECIAL) | (0x35)), + DIKS_PHONE = ((DIKT_SPECIAL) | (0x36)), + DIKS_AUDIO = ((DIKT_SPECIAL) | (0x37)), + DIKS_VIDEO = ((DIKT_SPECIAL) | (0x38)), + DIKS_INTERNET = ((DIKT_SPECIAL) | (0x39)), + DIKS_MAIL = ((DIKT_SPECIAL) | (0x3A)), + DIKS_NEWS = ((DIKT_SPECIAL) | (0x3B)), + DIKS_DIRECTORY = ((DIKT_SPECIAL) | (0x3C)), + DIKS_LIST = ((DIKT_SPECIAL) | (0x3D)), + DIKS_CALCULATOR = ((DIKT_SPECIAL) | (0x3E)), + DIKS_MEMO = ((DIKT_SPECIAL) | (0x3F)), + DIKS_CALENDAR = ((DIKT_SPECIAL) | (0x40)), + DIKS_EDITOR = ((DIKT_SPECIAL) | (0x41)), + DIKS_RED = ((DIKT_SPECIAL) | (0x42)), + DIKS_GREEN = ((DIKT_SPECIAL) | (0x43)), + DIKS_YELLOW = ((DIKT_SPECIAL) | (0x44)), + DIKS_BLUE = ((DIKT_SPECIAL) | (0x45)), + DIKS_CHANNEL_UP = ((DIKT_SPECIAL) | (0x46)), + DIKS_CHANNEL_DOWN = ((DIKT_SPECIAL) | (0x47)), + DIKS_BACK = ((DIKT_SPECIAL) | (0x48)), + DIKS_FORWARD = ((DIKT_SPECIAL) | (0x49)), + DIKS_FIRST = ((DIKT_SPECIAL) | (0x4A)), + DIKS_LAST = ((DIKT_SPECIAL) | (0x4B)), + DIKS_VOLUME_UP = ((DIKT_SPECIAL) | (0x4C)), + DIKS_VOLUME_DOWN = ((DIKT_SPECIAL) | (0x4D)), + DIKS_MUTE = ((DIKT_SPECIAL) | (0x4E)), + DIKS_AB = ((DIKT_SPECIAL) | (0x4F)), + DIKS_PLAYPAUSE = ((DIKT_SPECIAL) | (0x50)), + DIKS_PLAY = ((DIKT_SPECIAL) | (0x51)), + DIKS_STOP = ((DIKT_SPECIAL) | (0x52)), + DIKS_RESTART = ((DIKT_SPECIAL) | (0x53)), + DIKS_SLOW = ((DIKT_SPECIAL) | (0x54)), + DIKS_FAST = ((DIKT_SPECIAL) | (0x55)), + DIKS_RECORD = ((DIKT_SPECIAL) | (0x56)), + DIKS_EJECT = ((DIKT_SPECIAL) | (0x57)), + DIKS_SHUFFLE = ((DIKT_SPECIAL) | (0x58)), + DIKS_REWIND = ((DIKT_SPECIAL) | (0x59)), + DIKS_FASTFORWARD = ((DIKT_SPECIAL) | (0x5A)), + DIKS_PREVIOUS = ((DIKT_SPECIAL) | (0x5B)), + DIKS_NEXT = ((DIKT_SPECIAL) | (0x5C)), + DIKS_BEGIN = ((DIKT_SPECIAL) | (0x5D)), + DIKS_DIGITS = ((DIKT_SPECIAL) | (0x5E)), + DIKS_TEEN = ((DIKT_SPECIAL) | (0x5F)), + DIKS_TWEN = ((DIKT_SPECIAL) | (0x60)), + DIKS_BREAK = ((DIKT_SPECIAL) | (0x61)), + DIKS_EXIT = ((DIKT_SPECIAL) | (0x62)), + DIKS_SETUP = ((DIKT_SPECIAL) | (0x63)), + DIKS_CURSOR_LEFT_UP = ((DIKT_SPECIAL) | (0x64)), + DIKS_CURSOR_LEFT_DOWN = ((DIKT_SPECIAL) | (0x65)), + DIKS_CURSOR_UP_RIGHT = ((DIKT_SPECIAL) | (0x66)), + DIKS_CURSOR_DOWN_RIGHT = ((DIKT_SPECIAL) | (0x67)), + DIKS_F1 = (((DIKT_FUNCTION) | (1))), + DIKS_F2 = (((DIKT_FUNCTION) | (2))), + DIKS_F3 = (((DIKT_FUNCTION) | (3))), + DIKS_F4 = (((DIKT_FUNCTION) | (4))), + DIKS_F5 = (((DIKT_FUNCTION) | (5))), + DIKS_F6 = (((DIKT_FUNCTION) | (6))), + DIKS_F7 = (((DIKT_FUNCTION) | (7))), + DIKS_F8 = (((DIKT_FUNCTION) | (8))), + DIKS_F9 = (((DIKT_FUNCTION) | (9))), + DIKS_F10 = (((DIKT_FUNCTION) | (10))), + DIKS_F11 = (((DIKT_FUNCTION) | (11))), + DIKS_F12 = (((DIKT_FUNCTION) | (12))), + DIKS_SHIFT = (((DIKT_MODIFIER) | ((1 << DIMKI_SHIFT)))), + DIKS_CONTROL = (((DIKT_MODIFIER) | ((1 << DIMKI_CONTROL)))), + DIKS_ALT = (((DIKT_MODIFIER) | ((1 << DIMKI_ALT)))), + DIKS_ALTGR = (((DIKT_MODIFIER) | ((1 << DIMKI_ALTGR)))), + DIKS_META = (((DIKT_MODIFIER) | ((1 << DIMKI_META)))), + DIKS_SUPER = (((DIKT_MODIFIER) | ((1 << DIMKI_SUPER)))), + DIKS_HYPER = (((DIKT_MODIFIER) | ((1 << DIMKI_HYPER)))), + DIKS_CAPS_LOCK = ((DIKT_LOCK) | (0x00)), + DIKS_NUM_LOCK = ((DIKT_LOCK) | (0x01)), + DIKS_SCROLL_LOCK = ((DIKT_LOCK) | (0x02)), + DIKS_DEAD_ABOVEDOT = ((DIKT_DEAD) | (0x00)), + DIKS_DEAD_ABOVERING = ((DIKT_DEAD) | (0x01)), + DIKS_DEAD_ACUTE = ((DIKT_DEAD) | (0x02)), + DIKS_DEAD_BREVE = ((DIKT_DEAD) | (0x03)), + DIKS_DEAD_CARON = ((DIKT_DEAD) | (0x04)), + DIKS_DEAD_CEDILLA = ((DIKT_DEAD) | (0x05)), + DIKS_DEAD_CIRCUMFLEX = ((DIKT_DEAD) | (0x06)), + DIKS_DEAD_DIAERESIS = ((DIKT_DEAD) | (0x07)), + DIKS_DEAD_DOUBLEACUTE = ((DIKT_DEAD) | (0x08)), + DIKS_DEAD_GRAVE = ((DIKT_DEAD) | (0x09)), + DIKS_DEAD_IOTA = ((DIKT_DEAD) | (0x0A)), + DIKS_DEAD_MACRON = ((DIKT_DEAD) | (0x0B)), + DIKS_DEAD_OGONEK = ((DIKT_DEAD) | (0x0C)), + DIKS_DEAD_SEMIVOICED_SOUND = ((DIKT_DEAD) | (0x0D)), + DIKS_DEAD_TILDE = ((DIKT_DEAD) | (0x0E)), + DIKS_DEAD_VOICED_SOUND = ((DIKT_DEAD) | (0x0F)), + DIKS_CUSTOM0 = (((DIKT_CUSTOM) | (0))), + DIKS_CUSTOM1 = (((DIKT_CUSTOM) | (1))), + DIKS_CUSTOM2 = (((DIKT_CUSTOM) | (2))), + DIKS_CUSTOM3 = (((DIKT_CUSTOM) | (3))), + DIKS_CUSTOM4 = (((DIKT_CUSTOM) | (4))), + DIKS_CUSTOM5 = (((DIKT_CUSTOM) | (5))), + DIKS_CUSTOM6 = (((DIKT_CUSTOM) | (6))), + DIKS_CUSTOM7 = (((DIKT_CUSTOM) | (7))), + DIKS_CUSTOM8 = (((DIKT_CUSTOM) | (8))), + DIKS_CUSTOM9 = (((DIKT_CUSTOM) | (9))) +} DFBInputDeviceKeySymbol; +typedef enum +{ + DILS_SCROLL = 0x00000001, + DILS_NUM = 0x00000002, + DILS_CAPS = 0x00000004 +} DFBInputDeviceLockState; +typedef enum +{ + DIKSI_BASE = 0x00, + DIKSI_BASE_SHIFT = 0x01, + DIKSI_ALT = 0x02, + DIKSI_ALT_SHIFT = 0x03, + DIKSI_LAST = DIKSI_ALT_SHIFT +} DFBInputDeviceKeymapSymbolIndex; +typedef struct +{ + int code; + DFBInputDeviceLockState locks; + DFBInputDeviceKeyIdentifier identifier; + DFBInputDeviceKeySymbol symbols[DIKSI_LAST + 1]; +} DFBInputDeviceKeymapEntry; +extern const unsigned int directfb_major_version; +extern const unsigned int directfb_minor_version; +extern const unsigned int directfb_micro_version; +extern const unsigned int directfb_binary_age; +extern const unsigned int directfb_interface_age; +const char *DirectFBCheckVersion(unsigned int required_major, + unsigned int required_minor, + unsigned int required_micro); + +typedef struct _IDirectFB IDirectFB; +typedef struct _IDirectFBScreen IDirectFBScreen; +typedef struct _IDirectFBDisplayLayer IDirectFBDisplayLayer; +typedef struct _IDirectFBSurface IDirectFBSurface; +typedef struct _IDirectFBPalette IDirectFBPalette; +typedef struct _IDirectFBWindow IDirectFBWindow; +typedef struct _IDirectFBInputDevice IDirectFBInputDevice; +typedef struct _IDirectFBEventBuffer IDirectFBEventBuffer; +typedef struct _IDirectFBFont IDirectFBFont; +typedef struct _IDirectFBImageProvider IDirectFBImageProvider; +typedef struct _IDirectFBVideoProvider IDirectFBVideoProvider; +typedef struct _IDirectFBDataBuffer IDirectFBDataBuffer; +typedef struct _IDirectFBGL IDirectFBGL; +typedef enum +{ + DFB_OK, + DFB_FAILURE, + DFB_INIT, + DFB_BUG, + DFB_DEAD, + DFB_UNSUPPORTED, + DFB_UNIMPLEMENTED, + DFB_ACCESSDENIED, + DFB_INVARG, + DFB_NOSYSTEMMEMORY, + DFB_NOVIDEOMEMORY, + DFB_LOCKED, + DFB_BUFFEREMPTY, + DFB_FILENOTFOUND, + DFB_IO, + DFB_BUSY, + DFB_NOIMPL, + DFB_MISSINGFONT, + DFB_TIMEOUT, + DFB_MISSINGIMAGE, + DFB_THIZNULL, + DFB_IDNOTFOUND, + DFB_INVAREA, + DFB_DESTROYED, + DFB_FUSION, + DFB_BUFFERTOOLARGE, + DFB_INTERRUPTED, + DFB_NOCONTEXT, + DFB_TEMPUNAVAIL, + DFB_LIMITEXCEEDED, + DFB_NOSUCHMETHOD, + DFB_NOSUCHINSTANCE, + DFB_ITEMNOTFOUND, + DFB_VERSIONMISMATCH, + DFB_NOSHAREDMEMORY +} DFBResult; +typedef enum +{ + DFB_FALSE = 0, + DFB_TRUE = !DFB_FALSE +} DFBBoolean; +typedef struct +{ + int x; + int y; +} DFBPoint; +typedef struct +{ + int x; + int w; +} DFBSpan; +typedef struct +{ + int w; + int h; +} DFBDimension; +typedef struct +{ + int x; + int y; + int w; + int h; +} DFBRectangle; +typedef struct +{ + float x; + float y; + float w; + float h; +} DFBLocation; +typedef struct +{ + int x1; + int y1; + int x2; + int y2; +} DFBRegion; +typedef struct +{ + int l; + int t; + int r; + int b; +} DFBInsets; +typedef struct +{ + int x1; + int y1; + int x2; + int y2; + int x3; + int y3; +} DFBTriangle; +typedef struct +{ + __u8 a; + __u8 r; + __u8 g; + __u8 b; +} DFBColor; +DFBResult DirectFBError( + const char *msg, + DFBResult result + ); +DFBResult DirectFBErrorFatal( + const char *msg, + DFBResult result + ); +const char *DirectFBErrorString( + DFBResult result + ); +const char *DirectFBUsageString(void); +DFBResult DirectFBInit( + int *argc, + char **argv[] + ); +DFBResult DirectFBSetOption( + const char *name, + const char *value + ); +DFBResult DirectFBCreate( + IDirectFB **interface + ); + +typedef unsigned int DFBScreenID; +typedef unsigned int DFBDisplayLayerID; +typedef unsigned int DFBDisplayLayerSourceID; +typedef unsigned int DFBWindowID; +typedef unsigned int DFBInputDeviceID; +typedef __u32 DFBDisplayLayerIDs; +typedef enum +{ + DFSCL_NORMAL = 0x00000000, + DFSCL_FULLSCREEN, + DFSCL_EXCLUSIVE +} DFBCooperativeLevel; +typedef enum +{ + DLCAPS_NONE = 0x00000000, + DLCAPS_SURFACE = 0x00000001, + DLCAPS_OPACITY = 0x00000002, + DLCAPS_ALPHACHANNEL = 0x00000004, + DLCAPS_SCREEN_LOCATION = 0x00000008, + DLCAPS_FLICKER_FILTERING = 0x00000010, + DLCAPS_DEINTERLACING = 0x00000020, + DLCAPS_SRC_COLORKEY = 0x00000040, + DLCAPS_DST_COLORKEY = 0x00000080, + DLCAPS_BRIGHTNESS = 0x00000100, + DLCAPS_CONTRAST = 0x00000200, + DLCAPS_HUE = 0x00000400, + DLCAPS_SATURATION = 0x00000800, + DLCAPS_LEVELS = 0x00001000, + DLCAPS_FIELD_PARITY = 0x00002000, + DLCAPS_WINDOWS = 0x00004000, + DLCAPS_SOURCES = 0x00008000, + DLCAPS_ALPHA_RAMP = 0x00010000, + DLCAPS_PREMULTIPLIED = 0x00020000, + DLCAPS_SCREEN_POSITION = 0x00100000, + DLCAPS_SCREEN_SIZE = 0x00200000, + DLCAPS_ALL = 0x0033FFFF +} DFBDisplayLayerCapabilities; +typedef enum +{ + DSCCAPS_NONE = 0x00000000, + DSCCAPS_VSYNC = 0x00000001, + DSCCAPS_POWER_MANAGEMENT = 0x00000002, + DSCCAPS_MIXERS = 0x00000010, + DSCCAPS_ENCODERS = 0x00000020, + DSCCAPS_OUTPUTS = 0x00000040, + DSCCAPS_ALL = 0x00000073 +} DFBScreenCapabilities; +typedef enum +{ + DLOP_NONE = 0x00000000, + DLOP_ALPHACHANNEL = 0x00000001, + DLOP_FLICKER_FILTERING = 0x00000002, + DLOP_DEINTERLACING = 0x00000004, + DLOP_SRC_COLORKEY = 0x00000008, + DLOP_DST_COLORKEY = 0x00000010, + DLOP_OPACITY = 0x00000020, + DLOP_FIELD_PARITY = 0x00000040 +} DFBDisplayLayerOptions; +typedef enum +{ + DLBM_UNKNOWN = 0x00000000, + DLBM_FRONTONLY = 0x00000001, + DLBM_BACKVIDEO = 0x00000002, + DLBM_BACKSYSTEM = 0x00000004, + DLBM_TRIPLE = 0x00000008, + DLBM_WINDOWS = 0x00000010 +} DFBDisplayLayerBufferMode; +typedef enum +{ + DSDESC_CAPS = 0x00000001, + DSDESC_WIDTH = 0x00000002, + DSDESC_HEIGHT = 0x00000004, + DSDESC_PIXELFORMAT = 0x00000008, + DSDESC_PREALLOCATED = 0x00000010, + DSDESC_PALETTE = 0x00000020 +} DFBSurfaceDescriptionFlags; +typedef enum +{ + DPDESC_CAPS = 0x00000001, + DPDESC_SIZE = 0x00000002, + DPDESC_ENTRIES = 0x00000004 +} DFBPaletteDescriptionFlags; +typedef enum +{ + DSCAPS_NONE = 0x00000000, + DSCAPS_PRIMARY = 0x00000001, + DSCAPS_SYSTEMONLY = 0x00000002, + DSCAPS_VIDEOONLY = 0x00000004, + DSCAPS_DOUBLE = 0x00000010, + DSCAPS_SUBSURFACE = 0x00000020, + DSCAPS_INTERLACED = 0x00000040, + DSCAPS_SEPARATED = 0x00000080, + DSCAPS_STATIC_ALLOC = 0x00000100, + DSCAPS_TRIPLE = 0x00000200, + DSCAPS_PREMULTIPLIED = 0x00001000, + DSCAPS_DEPTH = 0x00010000, + DSCAPS_ALL = 0x000113F7, + DSCAPS_FLIPPING = DSCAPS_DOUBLE | DSCAPS_TRIPLE +} DFBSurfaceCapabilities; +typedef enum +{ + DPCAPS_NONE = 0x00000000 +} DFBPaletteCapabilities; +typedef enum +{ + DSDRAW_NOFX = 0x00000000, + DSDRAW_BLEND = 0x00000001, + DSDRAW_DST_COLORKEY = 0x00000002, + DSDRAW_SRC_PREMULTIPLY = 0x00000004, + DSDRAW_DST_PREMULTIPLY = 0x00000008, + DSDRAW_DEMULTIPLY = 0x00000010, + DSDRAW_XOR = 0x00000020 +} DFBSurfaceDrawingFlags; +typedef enum +{ + DSBLIT_NOFX = 0x00000000, + DSBLIT_BLEND_ALPHACHANNEL = 0x00000001, + DSBLIT_BLEND_COLORALPHA = 0x00000002, + DSBLIT_COLORIZE = 0x00000004, + DSBLIT_SRC_COLORKEY = 0x00000008, + DSBLIT_DST_COLORKEY = 0x00000010, + DSBLIT_SRC_PREMULTIPLY = 0x00000020, + DSBLIT_DST_PREMULTIPLY = 0x00000040, + DSBLIT_DEMULTIPLY = 0x00000080, + DSBLIT_DEINTERLACE = 0x00000100 +} DFBSurfaceBlittingFlags; +typedef enum +{ + DFXL_NONE = 0x00000000, + DFXL_FILLRECTANGLE = 0x00000001, + DFXL_DRAWRECTANGLE = 0x00000002, + DFXL_DRAWLINE = 0x00000004, + DFXL_FILLTRIANGLE = 0x00000008, + DFXL_BLIT = 0x00010000, + DFXL_STRETCHBLIT = 0x00020000, + DFXL_TEXTRIANGLES = 0x00040000, + DFXL_DRAWSTRING = 0x01000000, + DFXL_ALL = 0x0107000F +} DFBAccelerationMask; +typedef struct +{ + DFBAccelerationMask acceleration_mask; + DFBSurfaceDrawingFlags drawing_flags; + DFBSurfaceBlittingFlags blitting_flags; + unsigned int video_memory; +} DFBCardCapabilities; +typedef enum +{ + DLTF_NONE = 0x00000000, + DLTF_GRAPHICS = 0x00000001, + DLTF_VIDEO = 0x00000002, + DLTF_STILL_PICTURE = 0x00000004, + DLTF_BACKGROUND = 0x00000008, + DLTF_ALL = 0x0000000F +} DFBDisplayLayerTypeFlags; +typedef enum +{ + DIDTF_NONE = 0x00000000, + DIDTF_KEYBOARD = 0x00000001, + DIDTF_MOUSE = 0x00000002, + DIDTF_JOYSTICK = 0x00000004, + DIDTF_REMOTE = 0x00000008, + DIDTF_VIRTUAL = 0x00000010, + DIDTF_ALL = 0x0000001F +} DFBInputDeviceTypeFlags; +typedef enum +{ + DICAPS_KEYS = 0x00000001, + DICAPS_AXES = 0x00000002, + DICAPS_BUTTONS = 0x00000004, + DICAPS_ALL = 0x00000007 +} DFBInputDeviceCapabilities; +typedef enum +{ + DIBI_LEFT = 0x00000000, + DIBI_RIGHT = 0x00000001, + DIBI_MIDDLE = 0x00000002, + DIBI_FIRST = DIBI_LEFT, + DIBI_LAST = 0x0000001F +} DFBInputDeviceButtonIdentifier; +typedef enum +{ + DIAI_X = 0x00000000, + DIAI_Y = 0x00000001, + DIAI_Z = 0x00000002, + DIAI_FIRST = DIAI_X, + DIAI_LAST = 0x0000001F +} DFBInputDeviceAxisIdentifier; +typedef enum +{ + DWDESC_CAPS = 0x00000001, + DWDESC_WIDTH = 0x00000002, + DWDESC_HEIGHT = 0x00000004, + DWDESC_PIXELFORMAT = 0x00000008, + DWDESC_POSX = 0x00000010, + DWDESC_POSY = 0x00000020, + DWDESC_SURFACE_CAPS = 0x00000040 +} DFBWindowDescriptionFlags; +typedef enum +{ + DBDESC_FILE = 0x00000001, + DBDESC_MEMORY = 0x00000002 +} DFBDataBufferDescriptionFlags; +typedef enum +{ + DWCAPS_NONE = 0x00000000, + DWCAPS_ALPHACHANNEL = 0x00000001, + DWCAPS_DOUBLEBUFFER = 0x00000002, + DWCAPS_INPUTONLY = 0x00000004, + DWCAPS_NODECORATION = 0x00000008, + DWCAPS_ALL = 0x0000000F +} DFBWindowCapabilities; +typedef enum +{ + DFFA_NONE = 0x00000000, + DFFA_NOKERNING = 0x00000001, + DFFA_NOHINTING = 0x00000002, + DFFA_MONOCHROME = 0x00000004, + DFFA_NOCHARMAP = 0x00000008 +} DFBFontAttributes; +typedef enum +{ + DFDESC_ATTRIBUTES = 0x00000001, + DFDESC_HEIGHT = 0x00000002, + DFDESC_WIDTH = 0x00000004, + DFDESC_INDEX = 0x00000008, + DFDESC_FIXEDADVANCE = 0x00000010 +} DFBFontDescriptionFlags; +typedef struct +{ + DFBFontDescriptionFlags flags; + DFBFontAttributes attributes; + int height; + int width; + unsigned int index; + int fixed_advance; +} DFBFontDescription; +typedef enum +{ + DSPF_UNKNOWN = 0x00000000, + DSPF_ARGB1555 = ((((0) & 0x7F)) | (((15) & 0x1F) << 7) | (((1) & 0x0F) << 12) | (((1) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((2) & 0x07) << 20) | (((0) & 0x07) << 23) | (((0) & 0x03) << 26) | (((0) & 0x03) << 28) | (((0) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)), + DSPF_RGB16 = ((((1) & 0x7F)) | (((16) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((2) & 0x07) << 20) | (((0) & 0x07) << 23) | (((0) & 0x03) << 26) | (((0) & 0x03) << 28) | (((0) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)), + DSPF_RGB24 = ((((2) & 0x7F)) | (((24) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((3) & 0x07) << 20) | (((0) & 0x07) << 23) | (((0) & 0x03) << 26) | (((0) & 0x03) << 28) | (((0) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)), + DSPF_RGB32 = ((((3) & 0x7F)) | (((24) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((4) & 0x07) << 20) | (((0) & 0x07) << 23) | (((0) & 0x03) << 26) | (((0) & 0x03) << 28) | (((0) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)), + DSPF_ARGB = ((((4) & 0x7F)) | (((24) & 0x1F) << 7) | (((8) & 0x0F) << 12) | (((1) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((4) & 0x07) << 20) | (((0) & 0x07) << 23) | (((0) & 0x03) << 26) | (((0) & 0x03) << 28) | (((0) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)), + DSPF_A8 = ((((5) & 0x7F)) | (((0) & 0x1F) << 7) | (((8) & 0x0F) << 12) | (((1) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((1) & 0x07) << 20) | (((0) & 0x07) << 23) | (((0) & 0x03) << 26) | (((0) & 0x03) << 28) | (((0) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)), + DSPF_YUY2 = ((((6) & 0x7F)) | (((16) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((2) & 0x07) << 20) | (((0) & 0x07) << 23) | (((0) & 0x03) << 26) | (((0) & 0x03) << 28) | (((0) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)), + DSPF_RGB332 = ((((7) & 0x7F)) | (((8) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((1) & 0x07) << 20) | (((0) & 0x07) << 23) | (((0) & 0x03) << 26) | (((0) & 0x03) << 28) | (((0) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)), + DSPF_UYVY = ((((8) & 0x7F)) | (((16) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((2) & 0x07) << 20) | (((0) & 0x07) << 23) | (((0) & 0x03) << 26) | (((0) & 0x03) << 28) | (((0) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)), + DSPF_I420 = ((((9) & 0x7F)) | (((12) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((1) & 0x07) << 20) | (((0) & 0x07) << 23) | (((2) & 0x03) << 26) | (((0) & 0x03) << 28) | (((0) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)), + DSPF_YV12 = ((((10) & 0x7F)) | (((12) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((1) & 0x07) << 20) | (((0) & 0x07) << 23) | (((2) & 0x03) << 26) | (((0) & 0x03) << 28) | (((0) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)), + DSPF_LUT8 = ((((11) & 0x7F)) | (((8) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((1) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((1) & 0x07) << 20) | (((0) & 0x07) << 23) | (((0) & 0x03) << 26) | (((0) & 0x03) << 28) | (((1) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)), + DSPF_ALUT44 = ((((12) & 0x7F)) | (((4) & 0x1F) << 7) | (((4) & 0x0F) << 12) | (((1) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((1) & 0x07) << 20) | (((0) & 0x07) << 23) | (((0) & 0x03) << 26) | (((0) & 0x03) << 28) | (((1) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)), + DSPF_AiRGB = ((((13) & 0x7F)) | (((24) & 0x1F) << 7) | (((8) & 0x0F) << 12) | (((1) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((4) & 0x07) << 20) | (((0) & 0x07) << 23) | (((0) & 0x03) << 26) | (((0) & 0x03) << 28) | (((0) ? 1 : 0) << 30) | (((1) ? 1 : 0) << 31)), + DSPF_A1 = ((((14) & 0x7F)) | (((0) & 0x1F) << 7) | (((1) & 0x0F) << 12) | (((1) ? 1 : 0) << 16) | (((1) & 0x07) << 17) | (((0) & 0x07) << 20) | (((7) & 0x07) << 23) | (((0) & 0x03) << 26) | (((0) & 0x03) << 28) | (((0) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)), + DSPF_NV12 = ((((15) & 0x7F)) | (((12) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((1) & 0x07) << 20) | (((0) & 0x07) << 23) | (((2) & 0x03) << 26) | (((0) & 0x03) << 28) | (((0) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)), + DSPF_NV16 = ((((16) & 0x7F)) | (((24) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((1) & 0x07) << 20) | (((0) & 0x07) << 23) | (((0) & 0x03) << 26) | (((2) & 0x03) << 28) | (((0) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)), + DSPF_ARGB2554 = ((((17) & 0x7F)) | (((14) & 0x1F) << 7) | (((2) & 0x0F) << 12) | (((1) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((2) & 0x07) << 20) | (((0) & 0x07) << 23) | (((0) & 0x03) << 26) | (((0) & 0x03) << 28) | (((0) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)), + DSPF_ARGB4444 = ((((18) & 0x7F)) | (((12) & 0x1F) << 7) | (((4) & 0x0F) << 12) | (((1) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((2) & 0x07) << 20) | (((0) & 0x07) << 23) | (((0) & 0x03) << 26) | (((0) & 0x03) << 28) | (((0) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)), + DSPF_NV21 = ((((19) & 0x7F)) | (((12) & 0x1F) << 7) | (((0) & 0x0F) << 12) | (((0) ? 1 : 0) << 16) | (((0) & 0x07) << 17) | (((1) & 0x07) << 20) | (((0) & 0x07) << 23) | (((2) & 0x03) << 26) | (((0) & 0x03) << 28) | (((0) ? 1 : 0) << 30) | (((0) ? 1 : 0) << 31)) +} DFBSurfacePixelFormat; +typedef struct +{ + DFBSurfaceDescriptionFlags flags; + DFBSurfaceCapabilities caps; + int width; + int height; + DFBSurfacePixelFormat pixelformat; + struct + { + void *data; + int pitch; + } preallocated[2]; + struct + { + DFBColor *entries; + unsigned int size; + } palette; +} DFBSurfaceDescription; +typedef struct +{ + DFBPaletteDescriptionFlags flags; + DFBPaletteCapabilities caps; + unsigned int size; + DFBColor *entries; +} DFBPaletteDescription; +typedef struct +{ + DFBDisplayLayerTypeFlags type; + DFBDisplayLayerCapabilities caps; + char name[32]; + int level; + int regions; + int sources; +} DFBDisplayLayerDescription; +typedef struct +{ + DFBDisplayLayerSourceID source_id; + char name[24]; +} DFBDisplayLayerSourceDescription; +typedef struct +{ + DFBScreenCapabilities caps; + char name[32]; + int mixers; + int encoders; + int outputs; +} DFBScreenDescription; +typedef struct +{ + DFBInputDeviceTypeFlags type; + DFBInputDeviceCapabilities caps; + int min_keycode; + int max_keycode; + DFBInputDeviceAxisIdentifier max_axis; + DFBInputDeviceButtonIdentifier max_button; + char name[32]; + char vendor[40]; +} DFBInputDeviceDescription; +typedef struct +{ + DFBWindowDescriptionFlags flags; + DFBWindowCapabilities caps; + int width; + int height; + DFBSurfacePixelFormat pixelformat; + int posx; + int posy; + DFBSurfaceCapabilities surface_caps; +} DFBWindowDescription; +typedef struct +{ + DFBDataBufferDescriptionFlags flags; + const char *file; + struct + { + const void *data; + unsigned int length; + } memory; +} DFBDataBufferDescription; +typedef enum +{ + DFENUM_OK = 0x00000000, + DFENUM_CANCEL = 0x00000001 +} DFBEnumerationResult; +typedef DFBEnumerationResult (*DFBVideoModeCallback)( + int width, + int height, + int bpp, + void *callbackdata + ); +typedef DFBEnumerationResult (*DFBScreenCallback)( + DFBScreenID screen_id, + DFBScreenDescription desc, + void *callbackdata + ); +typedef DFBEnumerationResult (*DFBDisplayLayerCallback)( + DFBDisplayLayerID layer_id, + DFBDisplayLayerDescription desc, + void *callbackdata + ); +typedef DFBEnumerationResult (*DFBInputDeviceCallback)( + DFBInputDeviceID device_id, + DFBInputDeviceDescription desc, + void *callbackdata + ); +typedef int (*DFBGetDataCallback)( + void *buffer, + unsigned int length, + void *callbackdata + ); +typedef enum +{ + DVCAPS_BASIC = 0x00000000, + DVCAPS_SEEK = 0x00000001, + DVCAPS_SCALE = 0x00000002, + DVCAPS_INTERLACED = 0x00000004, + DVCAPS_BRIGHTNESS = 0x00000010, + DVCAPS_CONTRAST = 0x00000020, + DVCAPS_HUE = 0x00000040, + DVCAPS_SATURATION = 0x00000080 +} DFBVideoProviderCapabilities; +typedef enum +{ + DCAF_NONE = 0x00000000, + DCAF_BRIGHTNESS = 0x00000001, + DCAF_CONTRAST = 0x00000002, + DCAF_HUE = 0x00000004, + DCAF_SATURATION = 0x00000008 +} DFBColorAdjustmentFlags; +typedef struct +{ + DFBColorAdjustmentFlags flags; + __u16 brightness; + __u16 contrast; + __u16 hue; + __u16 saturation; +} DFBColorAdjustment; +struct _IDirectFB +{ + void *priv; + int magic; + DFBResult (*AddRef)(IDirectFB *thiz); + DFBResult (*Release)(IDirectFB *thiz); + DFBResult (*SetCooperativeLevel)(IDirectFB *thiz, DFBCooperativeLevel level); + DFBResult (*SetVideoMode)(IDirectFB *thiz, int width, int height, int bpp); + DFBResult (*GetCardCapabilities)(IDirectFB *thiz, DFBCardCapabilities *ret_caps); + DFBResult (*EnumVideoModes)(IDirectFB *thiz, DFBVideoModeCallback callback, void *callbackdata); + DFBResult (*CreateSurface)(IDirectFB *thiz, const DFBSurfaceDescription *desc, IDirectFBSurface **ret_interface); + DFBResult (*CreatePalette)(IDirectFB *thiz, const DFBPaletteDescription *desc, IDirectFBPalette **ret_interface); + DFBResult (*EnumScreens)(IDirectFB *thiz, DFBScreenCallback callback, void *callbackdata); + DFBResult (*GetScreen)(IDirectFB *thiz, DFBScreenID screen_id, IDirectFBScreen **ret_interface); + DFBResult (*EnumDisplayLayers)(IDirectFB *thiz, DFBDisplayLayerCallback callback, void *callbackdata); + DFBResult (*GetDisplayLayer)(IDirectFB *thiz, DFBDisplayLayerID layer_id, IDirectFBDisplayLayer **ret_interface); + DFBResult (*EnumInputDevices)(IDirectFB *thiz, DFBInputDeviceCallback callback, void *callbackdata); + DFBResult (*GetInputDevice)(IDirectFB *thiz, DFBInputDeviceID device_id, IDirectFBInputDevice **ret_interface); + DFBResult (*CreateEventBuffer)(IDirectFB *thiz, IDirectFBEventBuffer **ret_buffer); + DFBResult (*CreateInputEventBuffer)(IDirectFB *thiz, DFBInputDeviceCapabilities caps, DFBBoolean global, IDirectFBEventBuffer **ret_buffer); + DFBResult (*CreateImageProvider)(IDirectFB *thiz, const char *filename, IDirectFBImageProvider **ret_interface); + DFBResult (*CreateVideoProvider)(IDirectFB *thiz, const char *filename, IDirectFBVideoProvider **ret_interface); + DFBResult (*CreateFont)(IDirectFB *thiz, const char *filename, const DFBFontDescription *desc, IDirectFBFont **ret_interface); + DFBResult (*CreateDataBuffer)(IDirectFB *thiz, const DFBDataBufferDescription *desc, IDirectFBDataBuffer **ret_interface); + DFBResult (*SetClipboardData)(IDirectFB *thiz, const char *mime_type, const void *data, unsigned int size, struct timeval *ret_timestamp); + DFBResult (*GetClipboardData)(IDirectFB *thiz, char **ret_mimetype, void **ret_data, unsigned int *ret_size); + DFBResult (*GetClipboardTimeStamp)(IDirectFB *thiz, struct timeval *ret_timestamp); + DFBResult (*Suspend)(IDirectFB *thiz); + DFBResult (*Resume)(IDirectFB *thiz); + DFBResult (*WaitIdle)(IDirectFB *thiz); + DFBResult (*WaitForSync)(IDirectFB *thiz); + DFBResult (*GetInterface)(IDirectFB *thiz, const char *type, const char *implementation, void *arg, void **ret_interface); +}; +typedef enum +{ + DLSCL_SHARED = 0, + DLSCL_EXCLUSIVE, + DLSCL_ADMINISTRATIVE +} DFBDisplayLayerCooperativeLevel; +typedef enum +{ + DLBM_DONTCARE = 0, + DLBM_COLOR, + DLBM_IMAGE, + DLBM_TILE +} DFBDisplayLayerBackgroundMode; +typedef enum +{ + DLCONF_NONE = 0x00000000, + DLCONF_WIDTH = 0x00000001, + DLCONF_HEIGHT = 0x00000002, + DLCONF_PIXELFORMAT = 0x00000004, + DLCONF_BUFFERMODE = 0x00000008, + DLCONF_OPTIONS = 0x00000010, + DLCONF_SOURCE = 0x00000020, + DLCONF_SURFACE_CAPS = 0x00000040, + DLCONF_ALL = 0x0000007F +} DFBDisplayLayerConfigFlags; +typedef struct +{ + DFBDisplayLayerConfigFlags flags; + int width; + int height; + DFBSurfacePixelFormat pixelformat; + DFBDisplayLayerBufferMode buffermode; + DFBDisplayLayerOptions options; + DFBDisplayLayerSourceID source; + DFBSurfaceCapabilities surface_caps; +} DFBDisplayLayerConfig; +typedef enum +{ + DSPM_ON = 0, + DSPM_STANDBY, + DSPM_SUSPEND, + DSPM_OFF +} DFBScreenPowerMode; +typedef enum +{ + DSMCAPS_NONE = 0x00000000, + DSMCAPS_FULL = 0x00000001, + DSMCAPS_SUB_LEVEL = 0x00000002, + DSMCAPS_SUB_LAYERS = 0x00000004, + DSMCAPS_BACKGROUND = 0x00000008 +} DFBScreenMixerCapabilities; +typedef struct +{ + DFBScreenMixerCapabilities caps; + DFBDisplayLayerIDs layers; + int sub_num; + DFBDisplayLayerIDs sub_layers; + char name[24]; +} DFBScreenMixerDescription; +typedef enum +{ + DSMCONF_NONE = 0x00000000, + DSMCONF_TREE = 0x00000001, + DSMCONF_LEVEL = 0x00000002, + DSMCONF_LAYERS = 0x00000004, + DSMCONF_BACKGROUND = 0x00000010, + DSMCONF_ALL = 0x00000017 +} DFBScreenMixerConfigFlags; +typedef enum +{ + DSMT_UNKNOWN = 0x00000000, + DSMT_FULL = 0x00000001, + DSMT_SUB_LEVEL = 0x00000002, + DSMT_SUB_LAYERS = 0x00000003 +} DFBScreenMixerTree; +typedef struct +{ + DFBScreenMixerConfigFlags flags; + DFBScreenMixerTree tree; + int level; + DFBDisplayLayerIDs layers; + DFBColor background; +} DFBScreenMixerConfig; +typedef enum +{ + DSOCAPS_NONE = 0x00000000, + DSOCAPS_CONNECTORS = 0x00000001, + DSOCAPS_ENCODER_SEL = 0x00000010, + DSOCAPS_SIGNAL_SEL = 0x00000020, + DSOCAPS_CONNECTOR_SEL = 0x00000040, + DSOCAPS_ALL = 0x00000071 +} DFBScreenOutputCapabilities; +typedef enum +{ + DSOC_UNKNOWN = 0x00000000, + DSOC_VGA = 0x00000001, + DSOC_SCART = 0x00000002, + DSOC_YC = 0x00000004, + DSOC_CVBS = 0x00000008 +} DFBScreenOutputConnectors; +typedef enum +{ + DSOS_NONE = 0x00000000, + DSOS_VGA = 0x00000001, + DSOS_YC = 0x00000002, + DSOS_CVBS = 0x00000004, + DSOS_RGB = 0x00000008, + DSOS_YCBCR = 0x00000010 +} DFBScreenOutputSignals; +typedef struct +{ + DFBScreenOutputCapabilities caps; + DFBScreenOutputConnectors all_connectors; + DFBScreenOutputSignals all_signals; + char name[24]; +} DFBScreenOutputDescription; +typedef enum +{ + DSOCONF_NONE = 0x00000000, + DSOCONF_ENCODER = 0x00000001, + DSOCONF_SIGNALS = 0x00000002, + DSOCONF_CONNECTORS = 0x00000004, + DSOCONF_ALL = 0x00000007 +} DFBScreenOutputConfigFlags; +typedef struct +{ + DFBScreenOutputConfigFlags flags; + int encoder; + DFBScreenOutputSignals out_signals; + DFBScreenOutputConnectors out_connectors; +} DFBScreenOutputConfig; +typedef enum +{ + DSECAPS_NONE = 0x00000000, + DSECAPS_TV_STANDARDS = 0x00000001, + DSECAPS_TEST_PICTURE = 0x00000002, + DSECAPS_MIXER_SEL = 0x00000004, + DSECAPS_OUT_SIGNALS = 0x00000008, + DSECAPS_SCANMODE = 0x00000010, + DSECAPS_BRIGHTNESS = 0x00000100, + DSECAPS_CONTRAST = 0x00000200, + DSECAPS_HUE = 0x00000400, + DSECAPS_SATURATION = 0x00000800, + DSECAPS_ALL = 0x00000f1f +} DFBScreenEncoderCapabilities; +typedef enum +{ + DSET_UNKNOWN = 0x00000000, + DSET_CRTC = 0x00000001, + DSET_TV = 0x00000002 +} DFBScreenEncoderType; +typedef enum +{ + DSETV_UNKNOWN = 0x00000000, + DSETV_PAL = 0x00000001, + DSETV_NTSC = 0x00000002, + DSETV_SECAM = 0x00000004 +} DFBScreenEncoderTVStandards; +typedef enum +{ + DSESM_UNKNOWN = 0x00000000, + DSESM_INTERLACED = 0x00000001, + DSESM_PROGRESSIVE = 0x00000002 +} DFBScreenEncoderScanMode; +typedef struct +{ + DFBScreenEncoderCapabilities caps; + DFBScreenEncoderType type; + DFBScreenEncoderTVStandards tv_standards; + DFBScreenOutputSignals out_signals; + char name[24]; +} DFBScreenEncoderDescription; +typedef enum +{ + DSECONF_NONE = 0x00000000, + DSECONF_TV_STANDARD = 0x00000001, + DSECONF_TEST_PICTURE = 0x00000002, + DSECONF_MIXER = 0x00000004, + DSECONF_OUT_SIGNALS = 0x00000008, + DSECONF_SCANMODE = 0x00000010, + DSECONF_TEST_COLOR = 0x00000020, + DSECONF_ADJUSTMENT = 0x00000040, + DSECONF_ALL = 0x0000007F +} DFBScreenEncoderConfigFlags; +typedef enum +{ + DSETP_OFF = 0x00000000, + DSETP_MULTI = 0x00000001, + DSETP_SINGLE = 0x00000002, + DSETP_WHITE = 0x00000010, + DSETP_YELLOW = 0x00000020, + DSETP_CYAN = 0x00000030, + DSETP_GREEN = 0x00000040, + DSETP_MAGENTA = 0x00000050, + DSETP_RED = 0x00000060, + DSETP_BLUE = 0x00000070, + DSETP_BLACK = 0x00000080 +} DFBScreenEncoderTestPicture; +typedef struct +{ + DFBScreenEncoderConfigFlags flags; + DFBScreenEncoderTVStandards tv_standard; + DFBScreenEncoderTestPicture test_picture; + int mixer; + DFBScreenOutputSignals out_signals; + DFBScreenEncoderScanMode scanmode; + DFBColor test_color; + DFBColorAdjustment adjustment; +} DFBScreenEncoderConfig; +struct _IDirectFBScreen +{ + void *priv; + int magic; + DFBResult (*AddRef)(IDirectFBScreen *thiz); + DFBResult (*Release)(IDirectFBScreen *thiz); + DFBResult (*GetID)(IDirectFBScreen *thiz, DFBScreenID *ret_screen_id); + DFBResult (*GetDescription)(IDirectFBScreen *thiz, DFBScreenDescription *ret_desc); + DFBResult (*EnumDisplayLayers)(IDirectFBScreen *thiz, DFBDisplayLayerCallback callback, void *callbackdata); + DFBResult (*SetPowerMode)(IDirectFBScreen *thiz, DFBScreenPowerMode mode); + DFBResult (*WaitForSync)(IDirectFBScreen *thiz); + DFBResult (*GetMixerDescriptions)(IDirectFBScreen *thiz, DFBScreenMixerDescription *ret_descriptions); + DFBResult (*GetMixerConfiguration)(IDirectFBScreen *thiz, int mixer, DFBScreenMixerConfig *ret_config); + DFBResult (*TestMixerConfiguration)(IDirectFBScreen *thiz, int mixer, const DFBScreenMixerConfig *config, DFBScreenMixerConfigFlags *ret_failed); + DFBResult (*SetMixerConfiguration)(IDirectFBScreen *thiz, int mixer, const DFBScreenMixerConfig *config); + DFBResult (*GetEncoderDescriptions)(IDirectFBScreen *thiz, DFBScreenEncoderDescription *ret_descriptions); + DFBResult (*GetEncoderConfiguration)(IDirectFBScreen *thiz, int encoder, DFBScreenEncoderConfig *ret_config); + DFBResult (*TestEncoderConfiguration)(IDirectFBScreen *thiz, int encoder, const DFBScreenEncoderConfig *config, DFBScreenEncoderConfigFlags *ret_failed); + DFBResult (*SetEncoderConfiguration)(IDirectFBScreen *thiz, int encoder, const DFBScreenEncoderConfig *config); + DFBResult (*GetOutputDescriptions)(IDirectFBScreen *thiz, DFBScreenOutputDescription *ret_descriptions); + DFBResult (*GetOutputConfiguration)(IDirectFBScreen *thiz, int output, DFBScreenOutputConfig *ret_config); + DFBResult (*TestOutputConfiguration)(IDirectFBScreen *thiz, int output, const DFBScreenOutputConfig *config, DFBScreenOutputConfigFlags *ret_failed); + DFBResult (*SetOutputConfiguration)(IDirectFBScreen *thiz, int output, const DFBScreenOutputConfig *config); +}; +struct _IDirectFBDisplayLayer +{ + void *priv; + int magic; + DFBResult (*AddRef)(IDirectFBDisplayLayer *thiz); + DFBResult (*Release)(IDirectFBDisplayLayer *thiz); + DFBResult (*GetID)(IDirectFBDisplayLayer *thiz, DFBDisplayLayerID *ret_layer_id); + DFBResult (*GetDescription)(IDirectFBDisplayLayer *thiz, DFBDisplayLayerDescription *ret_desc); + DFBResult (*GetSourceDescriptions)(IDirectFBDisplayLayer *thiz, DFBDisplayLayerSourceDescription *ret_descriptions); + DFBResult (*GetCurrentOutputField)(IDirectFBDisplayLayer *thiz, int *ret_field); + DFBResult (*GetSurface)(IDirectFBDisplayLayer *thiz, IDirectFBSurface **ret_interface); + DFBResult (*GetScreen)(IDirectFBDisplayLayer *thiz, IDirectFBScreen **ret_interface); + DFBResult (*SetCooperativeLevel)(IDirectFBDisplayLayer *thiz, DFBDisplayLayerCooperativeLevel level); + DFBResult (*GetConfiguration)(IDirectFBDisplayLayer *thiz, DFBDisplayLayerConfig *ret_config); + DFBResult (*TestConfiguration)(IDirectFBDisplayLayer *thiz, const DFBDisplayLayerConfig *config, DFBDisplayLayerConfigFlags *ret_failed); + DFBResult (*SetConfiguration)(IDirectFBDisplayLayer *thiz, const DFBDisplayLayerConfig *config); + DFBResult (*SetScreenLocation)(IDirectFBDisplayLayer *thiz, float x, float y, float width, float height); + DFBResult (*SetScreenPosition)(IDirectFBDisplayLayer *thiz, int x, int y); + DFBResult (*SetScreenRectangle)(IDirectFBDisplayLayer *thiz, int x, int y, int width, int height); + DFBResult (*SetOpacity)(IDirectFBDisplayLayer *thiz, __u8 opacity); + DFBResult (*SetSourceRectangle)(IDirectFBDisplayLayer *thiz, int x, int y, int width, int height); + DFBResult (*SetFieldParity)(IDirectFBDisplayLayer *thiz, int field); + DFBResult (*SetSrcColorKey)(IDirectFBDisplayLayer *thiz, __u8 r, __u8 g, __u8 b); + DFBResult (*SetDstColorKey)(IDirectFBDisplayLayer *thiz, __u8 r, __u8 g, __u8 b); + DFBResult (*GetLevel)(IDirectFBDisplayLayer *thiz, int *ret_level); + DFBResult (*SetLevel)(IDirectFBDisplayLayer *thiz, int level); + DFBResult (*SetBackgroundMode)(IDirectFBDisplayLayer *thiz, DFBDisplayLayerBackgroundMode mode); + DFBResult (*SetBackgroundImage)(IDirectFBDisplayLayer *thiz, IDirectFBSurface *surface); + DFBResult (*SetBackgroundColor)(IDirectFBDisplayLayer *thiz, __u8 r, __u8 g, __u8 b, __u8 a); + DFBResult (*GetColorAdjustment)(IDirectFBDisplayLayer *thiz, DFBColorAdjustment *ret_adj); + DFBResult (*SetColorAdjustment)(IDirectFBDisplayLayer *thiz, const DFBColorAdjustment *adj); + DFBResult (*CreateWindow)(IDirectFBDisplayLayer *thiz, const DFBWindowDescription *desc, IDirectFBWindow **ret_interface); + DFBResult (*GetWindow)(IDirectFBDisplayLayer *thiz, DFBWindowID window_id, IDirectFBWindow **ret_interface); + DFBResult (*EnableCursor)(IDirectFBDisplayLayer *thiz, int enable); + DFBResult (*GetCursorPosition)(IDirectFBDisplayLayer *thiz, int *ret_x, int *ret_y); + DFBResult (*WarpCursor)(IDirectFBDisplayLayer *thiz, int x, int y); + DFBResult (*SetCursorAcceleration)(IDirectFBDisplayLayer *thiz, int numerator, int denominator, int threshold); + DFBResult (*SetCursorShape)(IDirectFBDisplayLayer *thiz, IDirectFBSurface *shape, int hot_x, int hot_y); + DFBResult (*SetCursorOpacity)(IDirectFBDisplayLayer *thiz, __u8 opacity); + DFBResult (*WaitForSync)(IDirectFBDisplayLayer *thiz); +}; +typedef enum +{ + DSFLIP_NONE = 0x00000000, + DSFLIP_WAIT = 0x00000001, + DSFLIP_BLIT = 0x00000002, + DSFLIP_ONSYNC = 0x00000004, + DSFLIP_PIPELINE = 0x00000008, + DSFLIP_WAITFORSYNC = DSFLIP_WAIT | DSFLIP_ONSYNC +} DFBSurfaceFlipFlags; +typedef enum +{ + DSTF_LEFT = 0x00000000, + DSTF_CENTER = 0x00000001, + DSTF_RIGHT = 0x00000002, + DSTF_TOP = 0x00000004, + DSTF_BOTTOM = 0x00000008, + DSTF_TOPLEFT = DSTF_TOP | DSTF_LEFT, + DSTF_TOPCENTER = DSTF_TOP | DSTF_CENTER, + DSTF_TOPRIGHT = DSTF_TOP | DSTF_RIGHT, + DSTF_BOTTOMLEFT = DSTF_BOTTOM | DSTF_LEFT, + DSTF_BOTTOMCENTER = DSTF_BOTTOM | DSTF_CENTER, + DSTF_BOTTOMRIGHT = DSTF_BOTTOM | DSTF_RIGHT +} DFBSurfaceTextFlags; +typedef enum +{ + DSLF_READ = 0x00000001, + DSLF_WRITE = 0x00000002 +} DFBSurfaceLockFlags; +typedef enum +{ + DSPD_NONE = 0, + DSPD_CLEAR = 1, + DSPD_SRC = 2, + DSPD_SRC_OVER = 3, + DSPD_DST_OVER = 4, + DSPD_SRC_IN = 5, + DSPD_DST_IN = 6, + DSPD_SRC_OUT = 7, + DSPD_DST_OUT = 8 +} DFBSurfacePorterDuffRule; +typedef enum +{ + DSBF_ZERO = 1, + DSBF_ONE = 2, + DSBF_SRCCOLOR = 3, + DSBF_INVSRCCOLOR = 4, + DSBF_SRCALPHA = 5, + DSBF_INVSRCALPHA = 6, + DSBF_DESTALPHA = 7, + DSBF_INVDESTALPHA = 8, + DSBF_DESTCOLOR = 9, + DSBF_INVDESTCOLOR = 10, + DSBF_SRCALPHASAT = 11 +} DFBSurfaceBlendFunction; +typedef struct +{ + float x; + float y; + float z; + float w; + float s; + float t; +} DFBVertex; +typedef enum +{ + DTTF_LIST, + DTTF_STRIP, + DTTF_FAN +} DFBTriangleFormation; +struct _IDirectFBSurface +{ + void *priv; + int magic; + DFBResult (*AddRef)(IDirectFBSurface *thiz); + DFBResult (*Release)(IDirectFBSurface *thiz); + DFBResult (*GetCapabilities)(IDirectFBSurface *thiz, DFBSurfaceCapabilities *ret_caps); + DFBResult (*GetSize)(IDirectFBSurface *thiz, int *ret_width, int *ret_height); + DFBResult (*GetVisibleRectangle)(IDirectFBSurface *thiz, DFBRectangle *ret_rect); + DFBResult (*GetPixelFormat)(IDirectFBSurface *thiz, DFBSurfacePixelFormat *ret_format); + DFBResult (*GetAccelerationMask)(IDirectFBSurface *thiz, IDirectFBSurface *source, DFBAccelerationMask *ret_mask); + DFBResult (*GetPalette)(IDirectFBSurface *thiz, IDirectFBPalette **ret_interface); + DFBResult (*SetPalette)(IDirectFBSurface *thiz, IDirectFBPalette *palette); + DFBResult (*SetAlphaRamp)(IDirectFBSurface *thiz, __u8 a0, __u8 a1, __u8 a2, __u8 a3); + DFBResult (*Lock)(IDirectFBSurface *thiz, DFBSurfaceLockFlags flags, void **ret_ptr, int *ret_pitch); + DFBResult (*Unlock)(IDirectFBSurface *thiz); + DFBResult (*Flip)(IDirectFBSurface *thiz, const DFBRegion *region, DFBSurfaceFlipFlags flags); + DFBResult (*SetField)(IDirectFBSurface *thiz, int field); + DFBResult (*Clear)(IDirectFBSurface *thiz, __u8 r, __u8 g, __u8 b, __u8 a); + DFBResult (*SetClip)(IDirectFBSurface *thiz, const DFBRegion *clip); + DFBResult (*SetColor)(IDirectFBSurface *thiz, __u8 r, __u8 g, __u8 b, __u8 a); + DFBResult (*SetColorIndex)(IDirectFBSurface *thiz, unsigned int index); + DFBResult (*SetSrcBlendFunction)(IDirectFBSurface *thiz, DFBSurfaceBlendFunction function); + DFBResult (*SetDstBlendFunction)(IDirectFBSurface *thiz, DFBSurfaceBlendFunction function); + DFBResult (*SetPorterDuff)(IDirectFBSurface *thiz, DFBSurfacePorterDuffRule rule); + DFBResult (*SetSrcColorKey)(IDirectFBSurface *thiz, __u8 r, __u8 g, __u8 b); + DFBResult (*SetSrcColorKeyIndex)(IDirectFBSurface *thiz, unsigned int index); + DFBResult (*SetDstColorKey)(IDirectFBSurface *thiz, __u8 r, __u8 g, __u8 b); + DFBResult (*SetDstColorKeyIndex)(IDirectFBSurface *thiz, unsigned int index); + DFBResult (*SetBlittingFlags)(IDirectFBSurface *thiz, DFBSurfaceBlittingFlags flags); + DFBResult (*Blit)(IDirectFBSurface *thiz, IDirectFBSurface *source, const DFBRectangle *source_rect, int x, int y); + DFBResult (*TileBlit)(IDirectFBSurface *thiz, IDirectFBSurface *source, const DFBRectangle *source_rect, int x, int y); + DFBResult (*BatchBlit)(IDirectFBSurface *thiz, IDirectFBSurface *source, const DFBRectangle *source_rects, const DFBPoint *dest_points, int num); + DFBResult (*StretchBlit)(IDirectFBSurface *thiz, IDirectFBSurface *source, const DFBRectangle *source_rect, const DFBRectangle *destination_rect); + DFBResult (*TextureTriangles)(IDirectFBSurface *thiz, IDirectFBSurface *texture, const DFBVertex *vertices, const int *indices, int num, DFBTriangleFormation formation); + DFBResult (*SetDrawingFlags)(IDirectFBSurface *thiz, DFBSurfaceDrawingFlags flags); + DFBResult (*FillRectangle)(IDirectFBSurface *thiz, int x, int y, int w, int h); + DFBResult (*DrawRectangle)(IDirectFBSurface *thiz, int x, int y, int w, int h); + DFBResult (*DrawLine)(IDirectFBSurface *thiz, int x1, int y1, int x2, int y2); + DFBResult (*DrawLines)(IDirectFBSurface *thiz, const DFBRegion *lines, unsigned int num_lines); + DFBResult (*FillTriangle)(IDirectFBSurface *thiz, int x1, int y1, int x2, int y2, int x3, int y3); + DFBResult (*FillRectangles)(IDirectFBSurface *thiz, const DFBRectangle *rects, unsigned int num); + DFBResult (*FillSpans)(IDirectFBSurface *thiz, int y, const DFBSpan *spans, unsigned int num); + DFBResult (*SetFont)(IDirectFBSurface *thiz, IDirectFBFont *font); + DFBResult (*GetFont)(IDirectFBSurface *thiz, IDirectFBFont **ret_font); + DFBResult (*DrawString)(IDirectFBSurface *thiz, const char *text, int bytes, int x, int y, DFBSurfaceTextFlags flags); + DFBResult (*DrawGlyph)(IDirectFBSurface *thiz, unsigned int index, int x, int y, DFBSurfaceTextFlags flags); + DFBResult (*GetSubSurface)(IDirectFBSurface *thiz, const DFBRectangle *rect, IDirectFBSurface **ret_interface); + DFBResult (*GetGL)(IDirectFBSurface *thiz, IDirectFBGL **ret_interface); + DFBResult (*Dump)(IDirectFBSurface *thiz, const char *directory, const char *prefix); +}; +struct _IDirectFBPalette +{ + void *priv; + int magic; + DFBResult (*AddRef)(IDirectFBPalette *thiz); + DFBResult (*Release)(IDirectFBPalette *thiz); + DFBResult (*GetCapabilities)(IDirectFBPalette *thiz, DFBPaletteCapabilities *ret_caps); + DFBResult (*GetSize)(IDirectFBPalette *thiz, unsigned int *ret_size); + DFBResult (*SetEntries)(IDirectFBPalette *thiz, const DFBColor *entries, unsigned int num_entries, unsigned int offset); + DFBResult (*GetEntries)(IDirectFBPalette *thiz, DFBColor *ret_entries, unsigned int num_entries, unsigned int offset); + DFBResult (*FindBestMatch)(IDirectFBPalette *thiz, __u8 r, __u8 g, __u8 b, __u8 a, unsigned int *ret_index); + DFBResult (*CreateCopy)(IDirectFBPalette *thiz, IDirectFBPalette **ret_interface); +}; +typedef enum +{ + DIKS_UP = 0x00000000, + DIKS_DOWN = 0x00000001 +} DFBInputDeviceKeyState; +typedef enum +{ + DIBS_UP = 0x00000000, + DIBS_DOWN = 0x00000001 +} DFBInputDeviceButtonState; +typedef enum +{ + DIBM_LEFT = 0x00000001, + DIBM_RIGHT = 0x00000002, + DIBM_MIDDLE = 0x00000004 +} DFBInputDeviceButtonMask; +typedef enum +{ + DIMM_SHIFT = (1 << DIMKI_SHIFT), + DIMM_CONTROL = (1 << DIMKI_CONTROL), + DIMM_ALT = (1 << DIMKI_ALT), + DIMM_ALTGR = (1 << DIMKI_ALTGR), + DIMM_META = (1 << DIMKI_META), + DIMM_SUPER = (1 << DIMKI_SUPER), + DIMM_HYPER = (1 << DIMKI_HYPER) +} DFBInputDeviceModifierMask; +struct _IDirectFBInputDevice +{ + void *priv; + int magic; + DFBResult (*AddRef)(IDirectFBInputDevice *thiz); + DFBResult (*Release)(IDirectFBInputDevice *thiz); + DFBResult (*GetID)(IDirectFBInputDevice *thiz, DFBInputDeviceID *ret_device_id); + DFBResult (*GetDescription)(IDirectFBInputDevice *thiz, DFBInputDeviceDescription *ret_desc); + DFBResult (*GetKeymapEntry)(IDirectFBInputDevice *thiz, int keycode, DFBInputDeviceKeymapEntry *ret_entry); + DFBResult (*CreateEventBuffer)(IDirectFBInputDevice *thiz, IDirectFBEventBuffer **ret_buffer); + DFBResult (*AttachEventBuffer)(IDirectFBInputDevice *thiz, IDirectFBEventBuffer *buffer); + DFBResult (*GetKeyState)(IDirectFBInputDevice *thiz, DFBInputDeviceKeyIdentifier key_id, DFBInputDeviceKeyState *ret_state); + DFBResult (*GetModifiers)(IDirectFBInputDevice *thiz, DFBInputDeviceModifierMask *ret_modifiers); + DFBResult (*GetLockState)(IDirectFBInputDevice *thiz, DFBInputDeviceLockState *ret_locks); + DFBResult (*GetButtons)(IDirectFBInputDevice *thiz, DFBInputDeviceButtonMask *ret_buttons); + DFBResult (*GetButtonState)(IDirectFBInputDevice *thiz, DFBInputDeviceButtonIdentifier button, DFBInputDeviceButtonState *ret_state); + DFBResult (*GetAxis)(IDirectFBInputDevice *thiz, DFBInputDeviceAxisIdentifier axis, int *ret_pos); + DFBResult (*GetXY)(IDirectFBInputDevice *thiz, int *ret_x, int *ret_y); +}; +typedef enum +{ + DFEC_NONE = 0x00, + DFEC_INPUT = 0x01, + DFEC_WINDOW = 0x02, + DFEC_USER = 0x03 +} DFBEventClass; +typedef enum +{ + DIET_UNKNOWN = 0, + DIET_KEYPRESS, + DIET_KEYRELEASE, + DIET_BUTTONPRESS, + DIET_BUTTONRELEASE, + DIET_AXISMOTION +} DFBInputEventType; +typedef enum +{ + DIEF_NONE = 0x000, + DIEF_TIMESTAMP = 0x001, + DIEF_AXISABS = 0x002, + DIEF_AXISREL = 0x004, + DIEF_KEYCODE = 0x008, + DIEF_KEYID = 0x010, + DIEF_KEYSYMBOL = 0x020, + DIEF_MODIFIERS = 0x040, + DIEF_LOCKS = 0x080, + DIEF_BUTTONS = 0x100, + DIEF_GLOBAL = 0x200 +} DFBInputEventFlags; +typedef struct +{ + DFBEventClass clazz; + DFBInputEventType type; + DFBInputDeviceID device_id; + DFBInputEventFlags flags; + struct timeval timestamp; + int key_code; + DFBInputDeviceKeyIdentifier key_id; + DFBInputDeviceKeySymbol key_symbol; + DFBInputDeviceModifierMask modifiers; + DFBInputDeviceLockState locks; + DFBInputDeviceButtonIdentifier button; + DFBInputDeviceButtonMask buttons; + DFBInputDeviceAxisIdentifier axis; + int axisabs; + int axisrel; +} DFBInputEvent; +typedef enum +{ + DWET_NONE = 0x00000000, + DWET_POSITION = 0x00000001, + DWET_SIZE = 0x00000002, + DWET_CLOSE = 0x00000004, + DWET_DESTROYED = 0x00000008, + DWET_GOTFOCUS = 0x00000010, + DWET_LOSTFOCUS = 0x00000020, + DWET_KEYDOWN = 0x00000100, + DWET_KEYUP = 0x00000200, + DWET_BUTTONDOWN = 0x00010000, + DWET_BUTTONUP = 0x00020000, + DWET_MOTION = 0x00040000, + DWET_ENTER = 0x00080000, + DWET_LEAVE = 0x00100000, + DWET_WHEEL = 0x00200000, + DWET_POSITION_SIZE = DWET_POSITION | DWET_SIZE, + DWET_ALL = 0x003F033F +} DFBWindowEventType; +typedef struct +{ + DFBEventClass clazz; + DFBWindowEventType type; + DFBWindowID window_id; + int x; + int y; + int cx; + int cy; + int step; + int w; + int h; + int key_code; + DFBInputDeviceKeyIdentifier key_id; + DFBInputDeviceKeySymbol key_symbol; + DFBInputDeviceModifierMask modifiers; + DFBInputDeviceLockState locks; + DFBInputDeviceButtonIdentifier button; + DFBInputDeviceButtonMask buttons; + struct timeval timestamp; +} DFBWindowEvent; +typedef struct +{ + DFBEventClass clazz; + unsigned int type; + void *data; +} DFBUserEvent; +typedef union +{ + DFBEventClass clazz; + DFBInputEvent input; + DFBWindowEvent window; + DFBUserEvent user; +} DFBEvent; +struct _IDirectFBEventBuffer +{ + void *priv; + int magic; + DFBResult (*AddRef)(IDirectFBEventBuffer *thiz); + DFBResult (*Release)(IDirectFBEventBuffer *thiz); + DFBResult (*Reset)(IDirectFBEventBuffer *thiz); + DFBResult (*WaitForEvent)(IDirectFBEventBuffer *thiz); + DFBResult (*WaitForEventWithTimeout)(IDirectFBEventBuffer *thiz, unsigned int seconds, unsigned int milli_seconds); + DFBResult (*GetEvent)(IDirectFBEventBuffer *thiz, DFBEvent *ret_event); + DFBResult (*PeekEvent)(IDirectFBEventBuffer *thiz, DFBEvent *ret_event); + DFBResult (*HasEvent)(IDirectFBEventBuffer *thiz); + DFBResult (*PostEvent)(IDirectFBEventBuffer *thiz, const DFBEvent *event); + DFBResult (*WakeUp)(IDirectFBEventBuffer *thiz); + DFBResult (*CreateFileDescriptor)(IDirectFBEventBuffer *thiz, int *ret_fd); +}; +typedef enum +{ + DWOP_NONE = 0x00000000, + DWOP_COLORKEYING = 0x00000001, + DWOP_ALPHACHANNEL = 0x00000002, + DWOP_OPAQUE_REGION = 0x00000004, + DWOP_SHAPED = 0x00000008, + DWOP_KEEP_POSITION = 0x00000010, + DWOP_KEEP_SIZE = 0x00000020, + DWOP_KEEP_STACKING = 0x00000040, + DWOP_GHOST = 0x00001000, + DWOP_INDESTRUCTIBLE = 0x00002000, + DWOP_ALL = 0x0000307F +} DFBWindowOptions; +typedef enum +{ + DWSC_MIDDLE = 0x00000000, + DWSC_UPPER = 0x00000001, + DWSC_LOWER = 0x00000002 +} DFBWindowStackingClass; +struct _IDirectFBWindow +{ + void *priv; + int magic; + DFBResult (*AddRef)(IDirectFBWindow *thiz); + DFBResult (*Release)(IDirectFBWindow *thiz); + DFBResult (*GetID)(IDirectFBWindow *thiz, DFBWindowID *ret_window_id); + DFBResult (*GetPosition)(IDirectFBWindow *thiz, int *ret_x, int *ret_y); + DFBResult (*GetSize)(IDirectFBWindow *thiz, int *ret_width, int *ret_height); + DFBResult (*CreateEventBuffer)(IDirectFBWindow *thiz, IDirectFBEventBuffer **ret_buffer); + DFBResult (*AttachEventBuffer)(IDirectFBWindow *thiz, IDirectFBEventBuffer *buffer); + DFBResult (*EnableEvents)(IDirectFBWindow *thiz, DFBWindowEventType mask); + DFBResult (*DisableEvents)(IDirectFBWindow *thiz, DFBWindowEventType mask); + DFBResult (*GetSurface)(IDirectFBWindow *thiz, IDirectFBSurface **ret_surface); + DFBResult (*SetOptions)(IDirectFBWindow *thiz, DFBWindowOptions options); + DFBResult (*GetOptions)(IDirectFBWindow *thiz, DFBWindowOptions *ret_options); + DFBResult (*SetColorKey)(IDirectFBWindow *thiz, __u8 r, __u8 g, __u8 b); + DFBResult (*SetColorKeyIndex)(IDirectFBWindow *thiz, unsigned int index); + DFBResult (*SetOpacity)(IDirectFBWindow *thiz, __u8 opacity); + DFBResult (*SetOpaqueRegion)(IDirectFBWindow *thiz, int x1, int y1, int x2, int y2); + DFBResult (*GetOpacity)(IDirectFBWindow *thiz, __u8 *ret_opacity); + DFBResult (*SetCursorShape)(IDirectFBWindow *thiz, IDirectFBSurface *shape, int hot_x, int hot_y); + DFBResult (*RequestFocus)(IDirectFBWindow *thiz); + DFBResult (*GrabKeyboard)(IDirectFBWindow *thiz); + DFBResult (*UngrabKeyboard)(IDirectFBWindow *thiz); + DFBResult (*GrabPointer)(IDirectFBWindow *thiz); + DFBResult (*UngrabPointer)(IDirectFBWindow *thiz); + DFBResult (*GrabKey)(IDirectFBWindow *thiz, DFBInputDeviceKeySymbol symbol, DFBInputDeviceModifierMask modifiers); + DFBResult (*UngrabKey)(IDirectFBWindow *thiz, DFBInputDeviceKeySymbol symbol, DFBInputDeviceModifierMask modifiers); + DFBResult (*Move)(IDirectFBWindow *thiz, int dx, int dy); + DFBResult (*MoveTo)(IDirectFBWindow *thiz, int x, int y); + DFBResult (*Resize)(IDirectFBWindow *thiz, int width, int height); + DFBResult (*SetStackingClass)(IDirectFBWindow *thiz, DFBWindowStackingClass stacking_class); + DFBResult (*Raise)(IDirectFBWindow *thiz); + DFBResult (*Lower)(IDirectFBWindow *thiz); + DFBResult (*RaiseToTop)(IDirectFBWindow *thiz); + DFBResult (*LowerToBottom)(IDirectFBWindow *thiz); + DFBResult (*PutAtop)(IDirectFBWindow *thiz, IDirectFBWindow *lower); + DFBResult (*PutBelow)(IDirectFBWindow *thiz, IDirectFBWindow *upper); + DFBResult (*Close)(IDirectFBWindow *thiz); + DFBResult (*Destroy)(IDirectFBWindow *thiz); +}; +struct _IDirectFBFont +{ + void *priv; + int magic; + DFBResult (*AddRef)(IDirectFBFont *thiz); + DFBResult (*Release)(IDirectFBFont *thiz); + DFBResult (*GetAscender)(IDirectFBFont *thiz, int *ret_ascender); + DFBResult (*GetDescender)(IDirectFBFont *thiz, int *ret_descender); + DFBResult (*GetHeight)(IDirectFBFont *thiz, int *ret_height); + DFBResult (*GetMaxAdvance)(IDirectFBFont *thiz, int *ret_maxadvance); + DFBResult (*GetKerning)(IDirectFBFont *thiz, unsigned int prev_index, unsigned int current_index, int *ret_kern_x, int *ret_kern_y); + DFBResult (*GetStringWidth)(IDirectFBFont *thiz, const char *text, int bytes, int *ret_width); + DFBResult (*GetStringExtents)(IDirectFBFont *thiz, const char *text, int bytes, DFBRectangle *ret_logical_rect, DFBRectangle *ret_ink_rect); + DFBResult (*GetGlyphExtents)(IDirectFBFont *thiz, unsigned int index, DFBRectangle *ret_rect, int *ret_advance); +}; +typedef enum +{ + DICAPS_NONE = 0x00000000, + DICAPS_ALPHACHANNEL = 0x00000001, + DICAPS_COLORKEY = 0x00000002 +} DFBImageCapabilities; +typedef struct +{ + DFBImageCapabilities caps; + __u8 colorkey_r; + __u8 colorkey_g; + __u8 colorkey_b; +} DFBImageDescription; +typedef void (*DIRenderCallback)(DFBRectangle *rect, void *ctx); +struct _IDirectFBImageProvider +{ + void *priv; + int magic; + DFBResult (*AddRef)(IDirectFBImageProvider *thiz); + DFBResult (*Release)(IDirectFBImageProvider *thiz); + DFBResult (*GetSurfaceDescription)(IDirectFBImageProvider *thiz, DFBSurfaceDescription *ret_dsc); + DFBResult (*GetImageDescription)(IDirectFBImageProvider *thiz, DFBImageDescription *ret_dsc); + DFBResult (*RenderTo)(IDirectFBImageProvider *thiz, IDirectFBSurface *destination, const DFBRectangle *destination_rect); + DFBResult (*SetRenderCallback)(IDirectFBImageProvider *thiz, DIRenderCallback callback, void *callback_data); +}; +typedef int (*DVFrameCallback)(void *ctx); +struct _IDirectFBVideoProvider +{ + void *priv; + int magic; + DFBResult (*AddRef)(IDirectFBVideoProvider *thiz); + DFBResult (*Release)(IDirectFBVideoProvider *thiz); + DFBResult (*GetCapabilities)(IDirectFBVideoProvider *thiz, DFBVideoProviderCapabilities *ret_caps); + DFBResult (*GetSurfaceDescription)(IDirectFBVideoProvider *thiz, DFBSurfaceDescription *ret_dsc); + DFBResult (*PlayTo)(IDirectFBVideoProvider *thiz, IDirectFBSurface *destination, const DFBRectangle *destination_rect, DVFrameCallback callback, void *ctx); + DFBResult (*Stop)(IDirectFBVideoProvider *thiz); + DFBResult (*SeekTo)(IDirectFBVideoProvider *thiz, double seconds); + DFBResult (*GetPos)(IDirectFBVideoProvider *thiz, double *ret_seconds); + DFBResult (*GetLength)(IDirectFBVideoProvider *thiz, double *ret_seconds); + DFBResult (*GetColorAdjustment)(IDirectFBVideoProvider *thiz, DFBColorAdjustment *ret_adj); + DFBResult (*SetColorAdjustment)(IDirectFBVideoProvider *thiz, const DFBColorAdjustment *adj); +}; +struct _IDirectFBDataBuffer +{ + void *priv; + int magic; + DFBResult (*AddRef)(IDirectFBDataBuffer *thiz); + DFBResult (*Release)(IDirectFBDataBuffer *thiz); + DFBResult (*Flush)(IDirectFBDataBuffer *thiz); + DFBResult (*SeekTo)(IDirectFBDataBuffer *thiz, unsigned int offset); + DFBResult (*GetPosition)(IDirectFBDataBuffer *thiz, unsigned int *ret_offset); + DFBResult (*GetLength)(IDirectFBDataBuffer *thiz, unsigned int *ret_length); + DFBResult (*WaitForData)(IDirectFBDataBuffer *thiz, unsigned int length); + DFBResult (*WaitForDataWithTimeout)(IDirectFBDataBuffer *thiz, unsigned int length, unsigned int seconds, unsigned int milli_seconds); + DFBResult (*GetData)(IDirectFBDataBuffer *thiz, unsigned int length, void *ret_data, unsigned int *ret_read); + DFBResult (*PeekData)(IDirectFBDataBuffer *thiz, unsigned int length, int offset, void *ret_data, unsigned int *ret_read); + DFBResult (*HasData)(IDirectFBDataBuffer *thiz); + DFBResult (*PutData)(IDirectFBDataBuffer *thiz, const void *data, unsigned int length); + DFBResult (*CreateImageProvider)(IDirectFBDataBuffer *thiz, IDirectFBImageProvider **interface); +}; diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02002-i2c-core.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02002-i2c-core.c new file mode 100644 index 00000000..1acca5ab --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02002-i2c-core.c @@ -0,0 +1,1457 @@ +/* i2c-core.c - a device driver for the iic-bus interface */ +/* ------------------------------------------------------------------------- */ +/* Copyright (C) 1995-99 Simon G. Vogl + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +/* ------------------------------------------------------------------------- */ + +/* With some changes from Kyösti Mälkki <kmalkki@cc.hut.fi>. + * All SMBus-related things are written by Frodo Looijaard <frodol@dds.nl> + * SMBus 2.0 support by Mark Studebaker <mdsxyz123@yahoo.com> */ + +#include <linux/module.h> +#include <linux/kernel.h> +#include <linux/errno.h> +#include <linux/slab.h> +#include <linux/i2c.h> +#include <linux/init.h> +#include <linux/idr.h> +#include <linux/seq_file.h> +#include <asm/uaccess.h> + + +static LIST_HEAD(adapters); +static LIST_HEAD(drivers); +static DECLARE_MUTEX(core_lists); +static DEFINE_IDR(i2c_adapter_idr); + +static int i2c_device_match(struct device *dev, struct device_driver *drv) +{ + return(1); +} + +static int i2c_bus_suspend(struct device *dev, pm_message_t state) +{ + int rc = 0; + + if (dev->driver && dev->driver->suspend) + { + rc = dev->driver->suspend(dev, state, 0); + } + return(rc); +} + +static int i2c_bus_resume(struct device *dev) +{ + int rc = 0; + + if (dev->driver && dev->driver->resume) + { + rc = dev->driver->resume(dev, 0); + } + return(rc); +} + +struct bus_type i2c_bus_type = +{ + .name = "i2c", + .match = i2c_device_match, + .suspend = i2c_bus_suspend, + .resume = i2c_bus_resume, +}; + +static int i2c_device_probe(struct device *dev) +{ + return(-ENODEV); +} + +static int i2c_device_remove(struct device *dev) +{ + return(0); +} + +void i2c_adapter_dev_release(struct device *dev) +{ + struct i2c_adapter *adap = dev_to_i2c_adapter(dev); + + complete(&adap->dev_released); +} + +struct device_driver i2c_adapter_driver = +{ + .name = "i2c_adapter", + .bus = &i2c_bus_type, + .probe = i2c_device_probe, + .remove = i2c_device_remove, +}; + +static void i2c_adapter_class_dev_release(struct class_device *dev) +{ + struct i2c_adapter *adap = class_dev_to_i2c_adapter(dev); + + complete(&adap->class_dev_released); +} + +struct class i2c_adapter_class = +{ + .name = "i2c-adapter", + .release = &i2c_adapter_class_dev_release, +}; + +static ssize_t show_adapter_name(struct device *dev, struct device_attribute *attr, char *buf) +{ + struct i2c_adapter *adap = dev_to_i2c_adapter(dev); + + return(sprintf(buf, "%s\n", adap->name)); +} +static DEVICE_ATTR(name, S_IRUGO, show_adapter_name, NULL); + + +static void i2c_client_release(struct device *dev) +{ + struct i2c_client *client = to_i2c_client(dev); + + complete(&client->released); +} + +static ssize_t show_client_name(struct device *dev, struct device_attribute *attr, char *buf) +{ + struct i2c_client *client = to_i2c_client(dev); + + return(sprintf(buf, "%s\n", client->name)); +} + +/* + * We can't use the DEVICE_ATTR() macro here as we want the same filename for a + * different type of a device. So beware if the DEVICE_ATTR() macro ever + * changes, this definition will also have to change. + */ +static struct device_attribute dev_attr_client_name = +{ + .attr = { .name = "name", .mode = S_IRUGO, .owner = THIS_MODULE }, + .show = &show_client_name, +}; + + +/* --------------------------------------------------- + * registering functions + * --------------------------------------------------- + */ + +/* ----- + * i2c_add_adapter is called from within the algorithm layer, + * when a new hw adapter registers. A new device is register to be + * available for clients. + */ +int i2c_add_adapter(struct i2c_adapter *adap) +{ + int id, res = 0; + struct list_head *item; + struct i2c_driver *driver; + + down(&core_lists); + + if (idr_pre_get(&i2c_adapter_idr, GFP_KERNEL) == 0) + { + res = -ENOMEM; + goto out_unlock; + } + + res = idr_get_new(&i2c_adapter_idr, adap, &id); + if (res < 0) + { + if (res == -EAGAIN) + { + res = -ENOMEM; + } + goto out_unlock; + } + + adap->nr = id & MAX_ID_MASK; + init_MUTEX(&adap->bus_lock); + init_MUTEX(&adap->clist_lock); + list_add_tail(&adap->list, &adapters); + INIT_LIST_HEAD(&adap->clients); + + /* Add the adapter to the driver core. + * If the parent pointer is not set up, + * we add this adapter to the host bus. + */ + if (adap->dev.parent == NULL) + { + adap->dev.parent = &platform_bus; + } + sprintf(adap->dev.bus_id, "i2c-%d", adap->nr); + adap->dev.driver = &i2c_adapter_driver; + adap->dev.release = &i2c_adapter_dev_release; + device_register(&adap->dev); + device_create_file(&adap->dev, &dev_attr_name); + + /* Add this adapter to the i2c_adapter class */ + memset(&adap->class_dev, 0x00, sizeof(struct class_device)); + adap->class_dev.dev = &adap->dev; + adap->class_dev.class = &i2c_adapter_class; + strlcpy(adap->class_dev.class_id, adap->dev.bus_id, BUS_ID_SIZE); + class_device_register(&adap->class_dev); + + dev_dbg(&adap->dev, "adapter [%s] registered\n", adap->name); + + /* inform drivers of new adapters */ + list_for_each(item, &drivers) + { + driver = list_entry(item, struct i2c_driver, list); + if (driver->flags & I2C_DF_NOTIFY) + { + /* We ignore the return code; if it fails, too bad */ + driver->attach_adapter(adap); + } + } + + out_unlock: + up(&core_lists); + return(res); +} /* i2c_add_adapter */ + + +int i2c_del_adapter(struct i2c_adapter *adap) +{ + struct list_head *item, *_n; + struct i2c_adapter *adap_from_list; + struct i2c_driver *driver; + struct i2c_client *client; + int res = 0; + + down(&core_lists); + + /* First make sure that this adapter was ever added */ + list_for_each_entry(adap_from_list, &adapters, list) + { + if (adap_from_list == adap) + { + break; + } + } + if (adap_from_list != adap) + { + pr_debug("i2c-core: attempting to delete unregistered " + "adapter [%s]\n", adap->name); + res = -EINVAL; + goto out_unlock; + } + + list_for_each(item, &drivers) + { + driver = list_entry(item, struct i2c_driver, list); + if (driver->detach_adapter) + { + if ((res = driver->detach_adapter(adap))) + { + dev_err(&adap->dev, "detach_adapter failed " + "for driver [%s]\n", driver->name); + goto out_unlock; + } + } + } + + /* detach any active clients. This must be done first, because + * it can fail; in which case we give up. */ + list_for_each_safe(item, _n, &adap->clients) + { + client = list_entry(item, struct i2c_client, list); + + /* detaching devices is unconditional of the set notify + * flag, as _all_ clients that reside on the adapter + * must be deleted, as this would cause invalid states. + */ + if ((res = client->driver->detach_client(client))) + { + dev_err(&adap->dev, "detach_client failed for client " + "[%s] at address 0x%02x\n", client->name, + client->addr); + goto out_unlock; + } + } + + /* clean up the sysfs representation */ + init_completion(&adap->dev_released); + init_completion(&adap->class_dev_released); + class_device_unregister(&adap->class_dev); + device_remove_file(&adap->dev, &dev_attr_name); + device_unregister(&adap->dev); + list_del(&adap->list); + + /* wait for sysfs to drop all references */ + wait_for_completion(&adap->dev_released); + wait_for_completion(&adap->class_dev_released); + + /* free dynamically allocated bus id */ + idr_remove(&i2c_adapter_idr, adap->nr); + + dev_dbg(&adap->dev, "adapter [%s] unregistered\n", adap->name); + + out_unlock: + up(&core_lists); + return(res); +} /* i2c_del_adapter */ + + +/* ----- + * What follows is the "upwards" interface: commands for talking to clients, + * which implement the functions to access the physical information of the + * chips. + */ + +int i2c_add_driver(struct i2c_driver *driver) +{ + struct list_head *item; + struct i2c_adapter *adapter; + int res = 0; + + down(&core_lists); + + /* add the driver to the list of i2c drivers in the driver core */ + driver->driver.name = driver->name; + driver->driver.bus = &i2c_bus_type; + driver->driver.probe = i2c_device_probe; + driver->driver.remove = i2c_device_remove; + + res = driver_register(&driver->driver); + if (res) + { + goto out_unlock; + } + + list_add_tail(&driver->list, &drivers); + pr_debug("i2c-core: driver [%s] registered\n", driver->name); + + /* now look for instances of driver on our adapters */ + if (driver->flags & I2C_DF_NOTIFY) + { + list_for_each(item, &adapters) + { + adapter = list_entry(item, struct i2c_adapter, list); + driver->attach_adapter(adapter); + } + } + + out_unlock: + up(&core_lists); + return(res); +} + +int i2c_del_driver(struct i2c_driver *driver) +{ + struct list_head *item1, *item2, *_n; + struct i2c_client *client; + struct i2c_adapter *adap; + + int res = 0; + + down(&core_lists); + + /* Have a look at each adapter, if clients of this driver are still + * attached. If so, detach them to be able to kill the driver + * afterwards. + * + * Removing clients does not depend on the notify flag, else + * invalid operation might (will!) result, when using stale client + * pointers. + */ + list_for_each(item1, &adapters) + { + adap = list_entry(item1, struct i2c_adapter, list); + if (driver->detach_adapter) + { + if ((res = driver->detach_adapter(adap))) + { + dev_err(&adap->dev, "detach_adapter failed " + "for driver [%s]\n", driver->name); + goto out_unlock; + } + } + else + { + list_for_each_safe(item2, _n, &adap->clients) + { + client = list_entry(item2, struct i2c_client, list); + if (client->driver != driver) + { + continue; + } + dev_dbg(&adap->dev, "detaching client [%s] " + "at 0x%02x\n", client->name, + client->addr); + if ((res = driver->detach_client(client))) + { + dev_err(&adap->dev, "detach_client " + "failed for client [%s] at " + "0x%02x\n", client->name, + client->addr); + goto out_unlock; + } + } + } + } + + driver_unregister(&driver->driver); + list_del(&driver->list); + pr_debug("i2c-core: driver [%s] unregistered\n", driver->name); + + out_unlock: + up(&core_lists); + return(0); +} /* i2c_del_driver */ + +static int __i2c_check_addr(struct i2c_adapter *adapter, unsigned int addr) +{ + struct list_head *item; + struct i2c_client *client; + + list_for_each(item, &adapter->clients) + { + client = list_entry(item, struct i2c_client, list); + if (client->addr == addr) + { + return(-EBUSY); + } + } + return(0); +} + +int i2c_check_addr(struct i2c_adapter *adapter, int addr) +{ + int rval; + + down(&adapter->clist_lock); + rval = __i2c_check_addr(adapter, addr); + up(&adapter->clist_lock); + + return(rval); +} + +int i2c_attach_client(struct i2c_client *client) +{ + struct i2c_adapter *adapter = client->adapter; + + down(&adapter->clist_lock); + if (__i2c_check_addr(client->adapter, client->addr)) + { + up(&adapter->clist_lock); + return(-EBUSY); + } + list_add_tail(&client->list, &adapter->clients); + up(&adapter->clist_lock); + + if (adapter->client_register) + { + if (adapter->client_register(client)) + { + dev_dbg(&adapter->dev, "client_register " + "failed for client [%s] at 0x%02x\n", + client->name, client->addr); + } + } + + if (client->flags & I2C_CLIENT_ALLOW_USE) + { + client->usage_count = 0; + } + + client->dev.parent = &client->adapter->dev; + client->dev.driver = &client->driver->driver; + client->dev.bus = &i2c_bus_type; + client->dev.release = &i2c_client_release; + + snprintf(&client->dev.bus_id[0], sizeof(client->dev.bus_id), + "%d-%04x", i2c_adapter_id(adapter), client->addr); + dev_dbg(&adapter->dev, "client [%s] registered with bus id %s\n", + client->name, client->dev.bus_id); + device_register(&client->dev); + device_create_file(&client->dev, &dev_attr_client_name); + + return(0); +} /* i2c_attach_client */ + + +int i2c_detach_client(struct i2c_client *client) +{ + struct i2c_adapter *adapter = client->adapter; + int res = 0; + + if ((client->flags & I2C_CLIENT_ALLOW_USE) + && (client->usage_count > 0)) + { + dev_warn(&client->dev, "Client [%s] still busy, " + "can't detach\n", client->name); + return(-EBUSY); + } + + if (adapter->client_unregister) + { + res = adapter->client_unregister(client); + if (res) + { + dev_err(&client->dev, + "client_unregister [%s] failed, " + "client not detached\n", client->name); + goto out; + } + } + + down(&adapter->clist_lock); + list_del(&client->list); + init_completion(&client->released); + device_remove_file(&client->dev, &dev_attr_client_name); + device_unregister(&client->dev); + up(&adapter->clist_lock); + wait_for_completion(&client->released); + + out: + return(res); +} + +static int i2c_inc_use_client(struct i2c_client *client) +{ + if (!try_module_get(client->driver->owner)) + { + return(-ENODEV); + } + if (!try_module_get(client->adapter->owner)) + { + module_put(client->driver->owner); + return(-ENODEV); + } + + return(0); +} + +static void i2c_dec_use_client(struct i2c_client *client) +{ + module_put(client->driver->owner); + module_put(client->adapter->owner); +} + +int i2c_use_client(struct i2c_client *client) +{ + int ret; + + ret = i2c_inc_use_client(client); + if (ret) + { + return(ret); + } + + if (client->flags & I2C_CLIENT_ALLOW_USE) + { + if (client->flags & I2C_CLIENT_ALLOW_MULTIPLE_USE) + { + client->usage_count++; + } + else if (client->usage_count > 0) + { + goto busy; + } + else + { + client->usage_count++; + } + } + + return(0); + + busy: + i2c_dec_use_client(client); + return(-EBUSY); +} + +int i2c_release_client(struct i2c_client *client) +{ + if (client->flags & I2C_CLIENT_ALLOW_USE) + { + if (client->usage_count > 0) + { + client->usage_count--; + } + else + { + pr_debug("i2c-core: %s used one too many times\n", + __FUNCTION__); + return(-EPERM); + } + } + + i2c_dec_use_client(client); + + return(0); +} + +void i2c_clients_command(struct i2c_adapter *adap, unsigned int cmd, void *arg) +{ + struct list_head *item; + struct i2c_client *client; + + down(&adap->clist_lock); + list_for_each(item, &adap->clients) + { + client = list_entry(item, struct i2c_client, list); + if (!try_module_get(client->driver->owner)) + { + continue; + } + if (NULL != client->driver->command) + { + up(&adap->clist_lock); + client->driver->command(client, cmd, arg); + down(&adap->clist_lock); + } + module_put(client->driver->owner); + } + up(&adap->clist_lock); +} + +static int __init i2c_init(void) +{ + int retval; + + retval = bus_register(&i2c_bus_type); + if (retval) + { + return(retval); + } + retval = driver_register(&i2c_adapter_driver); + if (retval) + { + return(retval); + } + return(class_register(&i2c_adapter_class)); +} + +static void __exit i2c_exit(void) +{ + class_unregister(&i2c_adapter_class); + driver_unregister(&i2c_adapter_driver); + bus_unregister(&i2c_bus_type); +} + +subsys_initcall(i2c_init); +module_exit(i2c_exit); + +/* ---------------------------------------------------- + * the functional interface to the i2c busses. + * ---------------------------------------------------- + */ + +int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num) +{ + int ret; + + if (adap->algo->master_xfer) + { +#ifdef DEBUG + for (ret = 0; ret < num; ret++) + { + dev_dbg(&adap->dev, "master_xfer[%d] %c, addr=0x%02x, " + "len=%d\n", ret, msgs[ret].flags & I2C_M_RD ? + 'R' : 'W', msgs[ret].addr, msgs[ret].len); + } +#endif + + down(&adap->bus_lock); + ret = adap->algo->master_xfer(adap, msgs, num); + up(&adap->bus_lock); + + return(ret); + } + else + { + dev_dbg(&adap->dev, "I2C level transfers not supported\n"); + return(-ENOSYS); + } +} + +int i2c_master_send(struct i2c_client *client, const char *buf, int count) +{ + int ret; + struct i2c_adapter *adap = client->adapter; + struct i2c_msg msg; + + msg.addr = client->addr; + msg.flags = client->flags & I2C_M_TEN; + msg.len = count; + msg.buf = (char *)buf; + + ret = i2c_transfer(adap, &msg, 1); + + /* If everything went ok (i.e. 1 msg transmitted), return #bytes + * transmitted, else error code. */ + return((ret == 1) ? count : ret); +} + +int i2c_master_recv(struct i2c_client *client, char *buf, int count) +{ + struct i2c_adapter *adap = client->adapter; + struct i2c_msg msg; + int ret; + + msg.addr = client->addr; + msg.flags = client->flags & I2C_M_TEN; + msg.flags |= I2C_M_RD; + msg.len = count; + msg.buf = buf; + + ret = i2c_transfer(adap, &msg, 1); + + /* If everything went ok (i.e. 1 msg transmitted), return #bytes + * transmitted, else error code. */ + return((ret == 1) ? count : ret); +} + + +int i2c_control(struct i2c_client *client, + unsigned int cmd, unsigned long arg) +{ + int ret = 0; + struct i2c_adapter *adap = client->adapter; + + dev_dbg(&client->adapter->dev, "i2c ioctl, cmd: 0x%x, arg: %#lx\n", cmd, arg); + switch (cmd) + { + case I2C_RETRIES: + adap->retries = arg; + break; + + case I2C_TIMEOUT: + adap->timeout = arg; + break; + + default: + if (adap->algo->algo_control != NULL) + { + ret = adap->algo->algo_control(adap, cmd, arg); + } + } + return(ret); +} + +/* ---------------------------------------------------- + * the i2c address scanning function + * Will not work for 10-bit addresses! + * ---------------------------------------------------- + */ +static int i2c_probe_address(struct i2c_adapter *adapter, int addr, int kind, + int (*found_proc)(struct i2c_adapter *, int, int)) +{ + int err; + + /* Make sure the address is valid */ + if (addr < 0x03 || addr > 0x77) + { + dev_warn(&adapter->dev, "Invalid probe address 0x%02x\n", + addr); + return(-EINVAL); + } + + /* Skip if already in use */ + if (i2c_check_addr(adapter, addr)) + { + return(0); + } + + /* Make sure there is something at this address, unless forced */ + if (kind < 0) + { + if (i2c_smbus_xfer(adapter, addr, 0, 0, 0, + I2C_SMBUS_QUICK, NULL) < 0) + { + return(0); + } + + /* prevent 24RF08 corruption */ + if ((addr & ~0x0f) == 0x50) + { + i2c_smbus_xfer(adapter, addr, 0, 0, 0, + I2C_SMBUS_QUICK, NULL); + } + } + + /* Finally call the custom detection function */ + err = found_proc(adapter, addr, kind); + + /* -ENODEV can be returned if there is a chip at the given address + * but it isn't supported by this chip driver. We catch it here as + * this isn't an error. */ + return((err == -ENODEV) ? 0 : err); +} + +int i2c_probe(struct i2c_adapter *adapter, + struct i2c_client_address_data *address_data, + int (*found_proc)(struct i2c_adapter *, int, int)) +{ + int i, err; + int adap_id = i2c_adapter_id(adapter); + + /* Forget it if we can't probe using SMBUS_QUICK */ + if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_QUICK)) + { + return(-1); + } + + /* Force entries are done first, and are not affected by ignore + * entries */ + if (address_data->forces) + { + unsigned short **forces = address_data->forces; + int kind; + + for (kind = 0; forces[kind]; kind++) + { + for (i = 0; forces[kind][i] != I2C_CLIENT_END; + i += 2) + { + if (forces[kind][i] == adap_id + || forces[kind][i] == ANY_I2C_BUS) + { + dev_dbg(&adapter->dev, "found force " + "parameter for adapter %d, " + "addr 0x%02x, kind %d\n", + adap_id, forces[kind][i + 1], + kind); + err = i2c_probe_address(adapter, + forces[kind][i + 1], + kind, found_proc); + if (err) + { + return(err); + } + } + } + } + } + + /* Probe entries are done second, and are not affected by ignore + * entries either */ + for (i = 0; address_data->probe[i] != I2C_CLIENT_END; i += 2) + { + if (address_data->probe[i] == adap_id + || address_data->probe[i] == ANY_I2C_BUS) + { + dev_dbg(&adapter->dev, "found probe parameter for " + "adapter %d, addr 0x%02x\n", adap_id, + address_data->probe[i + 1]); + err = i2c_probe_address(adapter, + address_data->probe[i + 1], + -1, found_proc); + if (err) + { + return(err); + } + } + } + + /* Normal entries are done last, unless shadowed by an ignore entry */ + for (i = 0; address_data->normal_i2c[i] != I2C_CLIENT_END; i += 1) + { + int j, ignore; + + ignore = 0; + for (j = 0; address_data->ignore[j] != I2C_CLIENT_END; + j += 2) + { + if ((address_data->ignore[j] == adap_id || + address_data->ignore[j] == ANY_I2C_BUS) + && address_data->ignore[j + 1] + == address_data->normal_i2c[i]) + { + dev_dbg(&adapter->dev, "found ignore " + "parameter for adapter %d, " + "addr 0x%02x\n", adap_id, + address_data->ignore[j + 1]); + } + ignore = 1; + break; + } + if (ignore) + { + continue; + } + + dev_dbg(&adapter->dev, "found normal entry for adapter %d, " + "addr 0x%02x\n", adap_id, + address_data->normal_i2c[i]); + err = i2c_probe_address(adapter, address_data->normal_i2c[i], + -1, found_proc); + if (err) + { + return(err); + } + } + + return(0); +} /* i2c_probe */ + +struct i2c_adapter *i2c_get_adapter(int id) +{ + struct i2c_adapter *adapter; + + down(&core_lists); + adapter = (struct i2c_adapter *)idr_find(&i2c_adapter_idr, id); + if (adapter && !try_module_get(adapter->owner)) + { + adapter = NULL; + } + + up(&core_lists); + return(adapter); +} + +void i2c_put_adapter(struct i2c_adapter *adap) +{ + module_put(adap->owner); +} + +/* The SMBus parts */ + +#define POLY (0x1070U << 3) +static u8 +crc8(u16 data) +{ + int i; + + for (i = 0; i < 8; i++) + { + if (data & 0x8000) + { + data = data ^ POLY; + } + data = data << 1; + } + return((u8)(data >> 8)); +} + +/* CRC over count bytes in the first array plus the bytes in the rest + * array if it is non-null. rest[0] is the (length of rest) - 1 + * and is included. */ +static u8 i2c_smbus_partial_pec(u8 crc, int count, u8 *first, u8 *rest) +{ + int i; + + for (i = 0; i < count; i++) + { + crc = crc8((crc ^ first[i]) << 8); + } + if (rest != NULL) + { + for (i = 0; i <= rest[0]; i++) + { + crc = crc8((crc ^ rest[i]) << 8); + } + } + return(crc); +} + +static u8 i2c_smbus_pec(int count, u8 *first, u8 *rest) +{ + return(i2c_smbus_partial_pec(0, count, first, rest)); +} + +/* Returns new "size" (transaction type) + * Note that we convert byte to byte_data and byte_data to word_data + * rather than invent new xxx_PEC transactions. */ +static int i2c_smbus_add_pec(u16 addr, u8 command, int size, + union i2c_smbus_data *data) +{ + u8 buf[3]; + + buf[0] = addr << 1; + buf[1] = command; + switch (size) + { + case I2C_SMBUS_BYTE: + data->byte = i2c_smbus_pec(2, buf, NULL); + size = I2C_SMBUS_BYTE_DATA; + break; + + case I2C_SMBUS_BYTE_DATA: + buf[2] = data->byte; + data->word = buf[2] || + (i2c_smbus_pec(3, buf, NULL) << 8); + size = I2C_SMBUS_WORD_DATA; + break; + + case I2C_SMBUS_WORD_DATA: + /* unsupported */ + break; + + case I2C_SMBUS_BLOCK_DATA: + data->block[data->block[0] + 1] = + i2c_smbus_pec(2, buf, data->block); + size = I2C_SMBUS_BLOCK_DATA_PEC; + break; + } + return(size); +} + +static int i2c_smbus_check_pec(u16 addr, u8 command, int size, u8 partial, + union i2c_smbus_data *data) +{ + u8 buf[3], rpec, cpec; + + buf[1] = command; + switch (size) + { + case I2C_SMBUS_BYTE_DATA: + buf[0] = (addr << 1) | 1; + cpec = i2c_smbus_pec(2, buf, NULL); + rpec = data->byte; + break; + + case I2C_SMBUS_WORD_DATA: + buf[0] = (addr << 1) | 1; + buf[2] = data->word & 0xff; + cpec = i2c_smbus_pec(3, buf, NULL); + rpec = data->word >> 8; + break; + + case I2C_SMBUS_WORD_DATA_PEC: + /* unsupported */ + cpec = rpec = 0; + break; + + case I2C_SMBUS_PROC_CALL_PEC: + /* unsupported */ + cpec = rpec = 0; + break; + + case I2C_SMBUS_BLOCK_DATA_PEC: + buf[0] = (addr << 1); + buf[2] = (addr << 1) | 1; + cpec = i2c_smbus_pec(3, buf, data->block); + rpec = data->block[data->block[0] + 1]; + break; + + case I2C_SMBUS_BLOCK_PROC_CALL_PEC: + buf[0] = (addr << 1) | 1; + rpec = i2c_smbus_partial_pec(partial, 1, + buf, data->block); + cpec = data->block[data->block[0] + 1]; + break; + + default: + cpec = rpec = 0; + break; + } /* switch */ + if (rpec != cpec) + { + pr_debug("i2c-core: Bad PEC 0x%02x vs. 0x%02x\n", + rpec, cpec); + return(-1); + } + return(0); +} /* i2c_smbus_check_pec */ + +s32 i2c_smbus_write_quick(struct i2c_client *client, u8 value) +{ + return(i2c_smbus_xfer(client->adapter, client->addr, client->flags, + value, 0, I2C_SMBUS_QUICK, NULL)); +} + +s32 i2c_smbus_read_byte(struct i2c_client *client) +{ + union i2c_smbus_data data; + + if (i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_READ, 0, I2C_SMBUS_BYTE, &data)) + { + return(-1); + } + else + { + return(0x0FF & data.byte); + } +} + +s32 i2c_smbus_write_byte(struct i2c_client *client, u8 value) +{ + union i2c_smbus_data data; /* only for PEC */ + + return(i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_WRITE, value, I2C_SMBUS_BYTE, &data)); +} + +s32 i2c_smbus_read_byte_data(struct i2c_client *client, u8 command) +{ + union i2c_smbus_data data; + + if (i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_READ, command, I2C_SMBUS_BYTE_DATA, &data)) + { + return(-1); + } + else + { + return(0x0FF & data.byte); + } +} + +s32 i2c_smbus_write_byte_data(struct i2c_client *client, u8 command, u8 value) +{ + union i2c_smbus_data data; + + data.byte = value; + return(i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_WRITE, command, + I2C_SMBUS_BYTE_DATA, &data)); +} + +s32 i2c_smbus_read_word_data(struct i2c_client *client, u8 command) +{ + union i2c_smbus_data data; + + if (i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_READ, command, I2C_SMBUS_WORD_DATA, &data)) + { + return(-1); + } + else + { + return(0x0FFFF & data.word); + } +} + +s32 i2c_smbus_write_word_data(struct i2c_client *client, u8 command, u16 value) +{ + union i2c_smbus_data data; + + data.word = value; + return(i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_WRITE, command, + I2C_SMBUS_WORD_DATA, &data)); +} + +s32 i2c_smbus_write_block_data(struct i2c_client *client, u8 command, + u8 length, u8 *values) +{ + union i2c_smbus_data data; + int i; + + if (length > I2C_SMBUS_BLOCK_MAX) + { + length = I2C_SMBUS_BLOCK_MAX; + } + for (i = 1; i <= length; i++) + { + data.block[i] = values[i - 1]; + } + data.block[0] = length; + return(i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_WRITE, command, + I2C_SMBUS_BLOCK_DATA, &data)); +} + +/* Returns the number of read bytes */ +s32 i2c_smbus_read_i2c_block_data(struct i2c_client *client, u8 command, u8 *values) +{ + union i2c_smbus_data data; + int i; + + if (i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_READ, command, + I2C_SMBUS_I2C_BLOCK_DATA, &data)) + { + return(-1); + } + else + { + for (i = 1; i <= data.block[0]; i++) + { + values[i - 1] = data.block[i]; + } + return(data.block[0]); + } +} + +/* Simulate a SMBus command using the i2c protocol + * No checking of parameters is done! */ +static s32 i2c_smbus_xfer_emulated(struct i2c_adapter *adapter, u16 addr, + unsigned short flags, + char read_write, u8 command, int size, + union i2c_smbus_data *data) +{ + /* So we need to generate a series of msgs. In the case of writing, we + * need to use only one message; when reading, we need two. We initialize + * most things with sane defaults, to keep the code below somewhat + * simpler. */ + unsigned char msgbuf0[34]; + unsigned char msgbuf1[34]; + int num = read_write == I2C_SMBUS_READ ? 2 : 1; + struct i2c_msg msg[2] = { { addr, flags, 1, msgbuf0 }, + { addr, flags | I2C_M_RD, 0, msgbuf1 } }; + int i; + + msgbuf0[0] = command; + switch (size) + { + case I2C_SMBUS_QUICK: + msg[0].len = 0; + /* Special case: The read/write field is used as data */ + msg[0].flags = flags | (read_write == I2C_SMBUS_READ) ? I2C_M_RD : 0; + num = 1; + break; + + case I2C_SMBUS_BYTE: + if (read_write == I2C_SMBUS_READ) + { + /* Special case: only a read! */ + msg[0].flags = I2C_M_RD | flags; + num = 1; + } + break; + + case I2C_SMBUS_BYTE_DATA: + if (read_write == I2C_SMBUS_READ) + { + msg[1].len = 1; + } + else + { + msg[0].len = 2; + msgbuf0[1] = data->byte; + } + break; + + case I2C_SMBUS_WORD_DATA: + if (read_write == I2C_SMBUS_READ) + { + msg[1].len = 2; + } + else + { + msg[0].len = 3; + msgbuf0[1] = data->word & 0xff; + msgbuf0[2] = (data->word >> 8) & 0xff; + } + break; + + case I2C_SMBUS_PROC_CALL: + num = 2; /* Special case */ + read_write = I2C_SMBUS_READ; + msg[0].len = 3; + msg[1].len = 2; + msgbuf0[1] = data->word & 0xff; + msgbuf0[2] = (data->word >> 8) & 0xff; + break; + + case I2C_SMBUS_BLOCK_DATA: + case I2C_SMBUS_BLOCK_DATA_PEC: + if (read_write == I2C_SMBUS_READ) + { + dev_err(&adapter->dev, "Block read not supported " + "under I2C emulation!\n"); + return(-1); + } + else + { + msg[0].len = data->block[0] + 2; + if (msg[0].len > I2C_SMBUS_BLOCK_MAX + 2) + { + dev_err(&adapter->dev, "smbus_access called with " + "invalid block write size (%d)\n", + data->block[0]); + return(-1); + } + if (size == I2C_SMBUS_BLOCK_DATA_PEC) + { + (msg[0].len)++; + } + for (i = 1; i <= msg[0].len; i++) + { + msgbuf0[i] = data->block[i - 1]; + } + } + break; + + case I2C_SMBUS_BLOCK_PROC_CALL: + case I2C_SMBUS_BLOCK_PROC_CALL_PEC: + dev_dbg(&adapter->dev, "Block process call not supported " + "under I2C emulation!\n"); + return(-1); + + case I2C_SMBUS_I2C_BLOCK_DATA: + if (read_write == I2C_SMBUS_READ) + { + msg[1].len = I2C_SMBUS_I2C_BLOCK_MAX; + } + else + { + msg[0].len = data->block[0] + 1; + if (msg[0].len > I2C_SMBUS_I2C_BLOCK_MAX + 1) + { + dev_err(&adapter->dev, "i2c_smbus_xfer_emulated called with " + "invalid block write size (%d)\n", + data->block[0]); + return(-1); + } + for (i = 1; i <= data->block[0]; i++) + { + msgbuf0[i] = data->block[i]; + } + } + break; + + default: + dev_err(&adapter->dev, "smbus_access called with invalid size (%d)\n", + size); + return(-1); + } /* switch */ + + if (i2c_transfer(adapter, msg, num) < 0) + { + return(-1); + } + + if (read_write == I2C_SMBUS_READ) + { + switch (size) + { + case I2C_SMBUS_BYTE: + data->byte = msgbuf0[0]; + break; + + case I2C_SMBUS_BYTE_DATA: + data->byte = msgbuf1[0]; + break; + + case I2C_SMBUS_WORD_DATA: + case I2C_SMBUS_PROC_CALL: + data->word = msgbuf1[0] | (msgbuf1[1] << 8); + break; + + case I2C_SMBUS_I2C_BLOCK_DATA: + /* fixed at 32 for now */ + data->block[0] = I2C_SMBUS_I2C_BLOCK_MAX; + for (i = 0; i < I2C_SMBUS_I2C_BLOCK_MAX; i++) + { + data->block[i + 1] = msgbuf1[i]; + } + break; + } + } + return(0); +} /* i2c_smbus_xfer_emulated */ + + +s32 i2c_smbus_xfer(struct i2c_adapter *adapter, u16 addr, unsigned short flags, + char read_write, u8 command, int size, + union i2c_smbus_data *data) +{ + s32 res; + int swpec = 0; + u8 partial = 0; + + flags &= I2C_M_TEN | I2C_CLIENT_PEC; + if ((flags & I2C_CLIENT_PEC) && + !(i2c_check_functionality(adapter, I2C_FUNC_SMBUS_HWPEC_CALC))) + { + swpec = 1; + if (read_write == I2C_SMBUS_READ && + size == I2C_SMBUS_BLOCK_DATA) + { + size = I2C_SMBUS_BLOCK_DATA_PEC; + } + else if (size == I2C_SMBUS_PROC_CALL) + { + size = I2C_SMBUS_PROC_CALL_PEC; + } + else if (size == I2C_SMBUS_BLOCK_PROC_CALL) + { + i2c_smbus_add_pec(addr, command, + I2C_SMBUS_BLOCK_DATA, data); + partial = data->block[data->block[0] + 1]; + size = I2C_SMBUS_BLOCK_PROC_CALL_PEC; + } + else if (read_write == I2C_SMBUS_WRITE && + size != I2C_SMBUS_QUICK && + size != I2C_SMBUS_I2C_BLOCK_DATA) + { + size = i2c_smbus_add_pec(addr, command, size, data); + } + } + + if (adapter->algo->smbus_xfer) + { + down(&adapter->bus_lock); + res = adapter->algo->smbus_xfer(adapter, addr, flags, read_write, + command, size, data); + up(&adapter->bus_lock); + } + else + { + res = i2c_smbus_xfer_emulated(adapter, addr, flags, read_write, + command, size, data); + } + + if (res >= 0 && swpec && + size != I2C_SMBUS_QUICK && size != I2C_SMBUS_I2C_BLOCK_DATA && + (read_write == I2C_SMBUS_READ || size == I2C_SMBUS_PROC_CALL_PEC || + size == I2C_SMBUS_BLOCK_PROC_CALL_PEC)) + { + if (i2c_smbus_check_pec(addr, command, size, partial, data)) + { + return(-1); + } + } + return(res); +} /* i2c_smbus_xfer */ + + +/* Next four are needed by i2c-isa */ +EXPORT_SYMBOL_GPL(i2c_adapter_dev_release); +EXPORT_SYMBOL_GPL(i2c_adapter_driver); +EXPORT_SYMBOL_GPL(i2c_adapter_class); +EXPORT_SYMBOL_GPL(i2c_bus_type); + +EXPORT_SYMBOL(i2c_add_adapter); +EXPORT_SYMBOL(i2c_del_adapter); +EXPORT_SYMBOL(i2c_add_driver); +EXPORT_SYMBOL(i2c_del_driver); +EXPORT_SYMBOL(i2c_attach_client); +EXPORT_SYMBOL(i2c_detach_client); +EXPORT_SYMBOL(i2c_use_client); +EXPORT_SYMBOL(i2c_release_client); +EXPORT_SYMBOL(i2c_clients_command); +EXPORT_SYMBOL(i2c_check_addr); + +EXPORT_SYMBOL(i2c_master_send); +EXPORT_SYMBOL(i2c_master_recv); +EXPORT_SYMBOL(i2c_control); +EXPORT_SYMBOL(i2c_transfer); +EXPORT_SYMBOL(i2c_get_adapter); +EXPORT_SYMBOL(i2c_put_adapter); +EXPORT_SYMBOL(i2c_probe); + +EXPORT_SYMBOL(i2c_smbus_xfer); +EXPORT_SYMBOL(i2c_smbus_write_quick); +EXPORT_SYMBOL(i2c_smbus_read_byte); +EXPORT_SYMBOL(i2c_smbus_write_byte); +EXPORT_SYMBOL(i2c_smbus_read_byte_data); +EXPORT_SYMBOL(i2c_smbus_write_byte_data); +EXPORT_SYMBOL(i2c_smbus_read_word_data); +EXPORT_SYMBOL(i2c_smbus_write_word_data); +EXPORT_SYMBOL(i2c_smbus_write_block_data); +EXPORT_SYMBOL(i2c_smbus_read_i2c_block_data); + +MODULE_AUTHOR("Simon G. Vogl <simon@tk.uni-linz.ac.at>"); +MODULE_DESCRIPTION("I2C-Bus main module"); +MODULE_LICENSE("GPL"); diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02100-i2c-core.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02100-i2c-core.c new file mode 100644 index 00000000..899b0dd9 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02100-i2c-core.c @@ -0,0 +1,1393 @@ +/* i2c-core.c - a device driver for the iic-bus interface */ +/* ------------------------------------------------------------------------- */ +/* Copyright (C) 1995-99 Simon G. Vogl + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +/* ------------------------------------------------------------------------- */ + +/* With some changes from Kyösti Mälkki <kmalkki@cc.hut.fi>. + All SMBus-related things are written by Frodo Looijaard <frodol@dds.nl> + SMBus 2.0 support by Mark Studebaker <mdsxyz123@yahoo.com> */ + +#include <linux/module.h> +#include <linux/kernel.h> +#include <linux/errno.h> +#include <linux/slab.h> +#include <linux/i2c.h> +#include <linux/init.h> +#include <linux/idr.h> +#include <linux/seq_file.h> +#include <asm/uaccess.h> + + +static LIST_HEAD(adapters); +static LIST_HEAD(drivers); +static DECLARE_MUTEX(core_lists); +static DEFINE_IDR(i2c_adapter_idr); + +static int i2c_device_match(struct device *dev, struct device_driver *drv) + { + return 1; + } + +static int i2c_bus_suspend(struct device * dev, pm_message_t state) + { + int rc = 0; + + if (dev->driver && dev->driver->suspend) + rc = dev->driver->suspend(dev, state, 0); + + return rc; + } + +static int i2c_bus_resume(struct device * dev) + { + int rc = 0; + + if (dev->driver && dev->driver->resume) + rc = dev->driver->resume(dev, 0); + + return rc; + } + +struct bus_type i2c_bus_type = { + .name = "i2c", + .match = i2c_device_match, + .suspend = i2c_bus_suspend, + .resume = i2c_bus_resume, + }; + +static int i2c_device_probe(struct device *dev) + { + return -ENODEV; + } + +static int i2c_device_remove(struct device *dev) + { + return 0; + } + +void i2c_adapter_dev_release(struct device *dev) + { + struct i2c_adapter *adap = dev_to_i2c_adapter(dev); + + complete(&adap->dev_released); + } + +struct device_driver i2c_adapter_driver = { + .name = "i2c_adapter", + .bus = &i2c_bus_type, + .probe = i2c_device_probe, + .remove = i2c_device_remove, + }; + +static void i2c_adapter_class_dev_release(struct class_device *dev) + { + struct i2c_adapter *adap = class_dev_to_i2c_adapter(dev); + + complete(&adap->class_dev_released); + } + +struct class i2c_adapter_class = { + .name = "i2c-adapter", + .release = &i2c_adapter_class_dev_release, + }; + +static ssize_t show_adapter_name(struct device *dev, struct device_attribute *attr, char *buf) + { + struct i2c_adapter *adap = dev_to_i2c_adapter(dev); + + return sprintf(buf, "%s\n", adap->name); + } + +static DEVICE_ATTR(name, S_IRUGO, show_adapter_name, NULL); + + +static void i2c_client_release(struct device *dev) + { + struct i2c_client *client = to_i2c_client(dev); + + complete(&client->released); + } + +static ssize_t show_client_name(struct device *dev, struct device_attribute *attr, char *buf) + { + struct i2c_client *client = to_i2c_client(dev); + + return sprintf(buf, "%s\n", client->name); + } + +/* + * We can't use the DEVICE_ATTR() macro here as we want the same filename for a + * different type of a device. So beware if the DEVICE_ATTR() macro ever + * changes, this definition will also have to change. + */ +static struct device_attribute dev_attr_client_name = { + .attr = { .name = "name", .mode = S_IRUGO, .owner = THIS_MODULE }, + .show = &show_client_name, + }; + + +/* --------------------------------------------------- + * registering functions + * --------------------------------------------------- + */ + +/* ----- + * i2c_add_adapter is called from within the algorithm layer, + * when a new hw adapter registers. A new device is register to be + * available for clients. + */ +int i2c_add_adapter(struct i2c_adapter *adap) + { + int id, res = 0; + struct list_head *item; + struct i2c_driver *driver; + + down(&core_lists); + + if (idr_pre_get(&i2c_adapter_idr, GFP_KERNEL) == 0) + { + res = -ENOMEM; + goto out_unlock; + } + + res = idr_get_new(&i2c_adapter_idr, adap, &id); + + if (res < 0) + { + if (res == -EAGAIN) + res = -ENOMEM; + + goto out_unlock; + } + + adap->nr = id & MAX_ID_MASK; + init_MUTEX(&adap->bus_lock); + init_MUTEX(&adap->clist_lock); + list_add_tail(&adap->list, &adapters); + INIT_LIST_HEAD(&adap->clients); + + /* Add the adapter to the driver core. + * If the parent pointer is not set up, + * we add this adapter to the host bus. + */ + if (adap->dev.parent == NULL) + adap->dev.parent = &platform_bus; + + sprintf(adap->dev.bus_id, "i2c-%d", adap->nr); + adap->dev.driver = &i2c_adapter_driver; + adap->dev.release = &i2c_adapter_dev_release; + device_register(&adap->dev); + device_create_file(&adap->dev, &dev_attr_name); + + /* Add this adapter to the i2c_adapter class */ + memset(&adap->class_dev, 0x00, sizeof(struct class_device)); + adap->class_dev.dev = &adap->dev; + adap->class_dev.class = &i2c_adapter_class; + strlcpy(adap->class_dev.class_id, adap->dev.bus_id, BUS_ID_SIZE); + class_device_register(&adap->class_dev); + + dev_dbg(&adap->dev, "adapter [%s] registered\n", adap->name); + + /* inform drivers of new adapters */ + list_for_each(item, &drivers) { + driver = list_entry(item, struct i2c_driver, list); + + if (driver->flags & I2C_DF_NOTIFY) + /* We ignore the return code; if it fails, too bad */ + driver->attach_adapter(adap); + } + +out_unlock: + up(&core_lists); + return res; + } + +int i2c_del_adapter(struct i2c_adapter *adap) + { + struct list_head *item, *_n; + struct i2c_adapter *adap_from_list; + struct i2c_driver *driver; + struct i2c_client *client; + int res = 0; + + down(&core_lists); + + /* First make sure that this adapter was ever added */ + list_for_each_entry(adap_from_list, &adapters, list) { + if (adap_from_list == adap) + break; + } + + if (adap_from_list != adap) + { + pr_debug("i2c-core: attempting to delete unregistered " + "adapter [%s]\n", adap->name); + res = -EINVAL; + goto out_unlock; + } + + list_for_each(item, &drivers) { + driver = list_entry(item, struct i2c_driver, list); + + if (driver->detach_adapter) + if ((res = driver->detach_adapter(adap))) + { + dev_err(&adap->dev, "detach_adapter failed " + "for driver [%s]\n", driver->name); + goto out_unlock; + } + } + + /* detach any active clients. This must be done first, because + * it can fail; in which case we give up. */ + list_for_each_safe(item, _n, &adap->clients) { + client = list_entry(item, struct i2c_client, list); + + /* detaching devices is unconditional of the set notify + * flag, as _all_ clients that reside on the adapter + * must be deleted, as this would cause invalid states. + */ + if ((res = client->driver->detach_client(client))) + { + dev_err(&adap->dev, "detach_client failed for client " + "[%s] at address 0x%02x\n", client->name, + client->addr); + goto out_unlock; + } + } + + /* clean up the sysfs representation */ + init_completion(&adap->dev_released); + init_completion(&adap->class_dev_released); + class_device_unregister(&adap->class_dev); + device_remove_file(&adap->dev, &dev_attr_name); + device_unregister(&adap->dev); + list_del(&adap->list); + + /* wait for sysfs to drop all references */ + wait_for_completion(&adap->dev_released); + wait_for_completion(&adap->class_dev_released); + + /* free dynamically allocated bus id */ + idr_remove(&i2c_adapter_idr, adap->nr); + + dev_dbg(&adap->dev, "adapter [%s] unregistered\n", adap->name); + +out_unlock: + up(&core_lists); + return res; + } + +/* ----- + * What follows is the "upwards" interface: commands for talking to clients, + * which implement the functions to access the physical information of the + * chips. + */ + +int i2c_add_driver(struct i2c_driver *driver) + { + struct list_head *item; + struct i2c_adapter *adapter; + int res = 0; + + down(&core_lists); + + /* add the driver to the list of i2c drivers in the driver core */ + driver->driver.name = driver->name; + driver->driver.bus = &i2c_bus_type; + driver->driver.probe = i2c_device_probe; + driver->driver.remove = i2c_device_remove; + + res = driver_register(&driver->driver); + + if (res) + goto out_unlock; + + list_add_tail(&driver->list, &drivers); + pr_debug("i2c-core: driver [%s] registered\n", driver->name); + + /* now look for instances of driver on our adapters */ + if (driver->flags & I2C_DF_NOTIFY) + { + list_for_each(item, &adapters) { + adapter = list_entry(item, struct i2c_adapter, list); + driver->attach_adapter(adapter); + } + } + +out_unlock: + up(&core_lists); + return res; + } + +int i2c_del_driver(struct i2c_driver *driver) + { + struct list_head *item1, *item2, *_n; + struct i2c_client *client; + struct i2c_adapter *adap; + + int res = 0; + + down(&core_lists); + + /* Have a look at each adapter, if clients of this driver are still + * attached. If so, detach them to be able to kill the driver + * afterwards. + * + * Removing clients does not depend on the notify flag, else + * invalid operation might (will!) result, when using stale client + * pointers. + */ + list_for_each(item1, &adapters) { + adap = list_entry(item1, struct i2c_adapter, list); + + if (driver->detach_adapter) + { + if ((res = driver->detach_adapter(adap))) + { + dev_err(&adap->dev, "detach_adapter failed " + "for driver [%s]\n", driver->name); + goto out_unlock; + } + } + else + { + list_for_each_safe(item2, _n, &adap->clients) { + client = list_entry(item2, struct i2c_client, list); + + if (client->driver != driver) + continue; + + dev_dbg(&adap->dev, "detaching client [%s] " + "at 0x%02x\n", client->name, + client->addr); + + if ((res = driver->detach_client(client))) + { + dev_err(&adap->dev, "detach_client " + "failed for client [%s] at " + "0x%02x\n", client->name, + client->addr); + goto out_unlock; + } + } + } + } + + driver_unregister(&driver->driver); + list_del(&driver->list); + pr_debug("i2c-core: driver [%s] unregistered\n", driver->name); + +out_unlock: + up(&core_lists); + return 0; + } + +static int __i2c_check_addr(struct i2c_adapter *adapter, unsigned int addr) + { + struct list_head *item; + struct i2c_client *client; + + list_for_each(item, &adapter->clients) { + client = list_entry(item, struct i2c_client, list); + + if (client->addr == addr) + return -EBUSY; + } + return 0; + } + +int i2c_check_addr(struct i2c_adapter *adapter, int addr) + { + int rval; + + down(&adapter->clist_lock); + rval = __i2c_check_addr(adapter, addr); + up(&adapter->clist_lock); + + return rval; + } + +int i2c_attach_client(struct i2c_client *client) + { + struct i2c_adapter *adapter = client->adapter; + + down(&adapter->clist_lock); + + if (__i2c_check_addr(client->adapter, client->addr)) + { + up(&adapter->clist_lock); + return -EBUSY; + } + + list_add_tail(&client->list, &adapter->clients); + up(&adapter->clist_lock); + + if (adapter->client_register) + { + if (adapter->client_register(client)) + { + dev_dbg(&adapter->dev, "client_register " + "failed for client [%s] at 0x%02x\n", + client->name, client->addr); + } + } + + if (client->flags & I2C_CLIENT_ALLOW_USE) + client->usage_count = 0; + + client->dev.parent = &client->adapter->dev; + client->dev.driver = &client->driver->driver; + client->dev.bus = &i2c_bus_type; + client->dev.release = &i2c_client_release; + + snprintf(&client->dev.bus_id[0], sizeof(client->dev.bus_id), + "%d-%04x", i2c_adapter_id(adapter), client->addr); + dev_dbg(&adapter->dev, "client [%s] registered with bus id %s\n", + client->name, client->dev.bus_id); + device_register(&client->dev); + device_create_file(&client->dev, &dev_attr_client_name); + + return 0; + } + +int i2c_detach_client(struct i2c_client *client) + { + struct i2c_adapter *adapter = client->adapter; + int res = 0; + + if ((client->flags & I2C_CLIENT_ALLOW_USE) + && (client->usage_count > 0)) + { + dev_warn(&client->dev, "Client [%s] still busy, " + "can't detach\n", client->name); + return -EBUSY; + } + + if (adapter->client_unregister) + { + res = adapter->client_unregister(client); + + if (res) + { + dev_err(&client->dev, + "client_unregister [%s] failed, " + "client not detached\n", client->name); + goto out; + } + } + + down(&adapter->clist_lock); + list_del(&client->list); + init_completion(&client->released); + device_remove_file(&client->dev, &dev_attr_client_name); + device_unregister(&client->dev); + up(&adapter->clist_lock); + wait_for_completion(&client->released); + +out: + return res; + } + +static int i2c_inc_use_client(struct i2c_client *client) + { + + if (!try_module_get(client->driver->owner)) + return -ENODEV; + + if (!try_module_get(client->adapter->owner)) + { + module_put(client->driver->owner); + return -ENODEV; + } + + return 0; + } + +static void i2c_dec_use_client(struct i2c_client *client) + { + module_put(client->driver->owner); + module_put(client->adapter->owner); + } + +int i2c_use_client(struct i2c_client *client) + { + int ret; + + ret = i2c_inc_use_client(client); + + if (ret) + return ret; + + if (client->flags & I2C_CLIENT_ALLOW_USE) + { + if (client->flags & I2C_CLIENT_ALLOW_MULTIPLE_USE) + client->usage_count++; + else if (client->usage_count > 0) + goto busy; + else + client->usage_count++; + } + + return 0; +busy: + i2c_dec_use_client(client); + return -EBUSY; + } + +int i2c_release_client(struct i2c_client *client) + { + if (client->flags & I2C_CLIENT_ALLOW_USE) + { + if (client->usage_count > 0) + client->usage_count--; + else + { + pr_debug("i2c-core: %s used one too many times\n", + __FUNCTION__); + return -EPERM; + } + } + + i2c_dec_use_client(client); + + return 0; + } + +void i2c_clients_command(struct i2c_adapter *adap, unsigned int cmd, void *arg) + { + struct list_head *item; + struct i2c_client *client; + + down(&adap->clist_lock); + list_for_each(item, &adap->clients) { + client = list_entry(item, struct i2c_client, list); + + if (!try_module_get(client->driver->owner)) + continue; + + if (NULL != client->driver->command) + { + up(&adap->clist_lock); + client->driver->command(client, cmd, arg); + down(&adap->clist_lock); + } + + module_put(client->driver->owner); + } + up(&adap->clist_lock); + } + +static int __init i2c_init(void) + { + int retval; + + retval = bus_register(&i2c_bus_type); + + if (retval) + return retval; + + retval = driver_register(&i2c_adapter_driver); + + if (retval) + return retval; + + return class_register(&i2c_adapter_class); + } + +static void __exit i2c_exit(void) + { + class_unregister(&i2c_adapter_class); + driver_unregister(&i2c_adapter_driver); + bus_unregister(&i2c_bus_type); + } + +subsys_initcall(i2c_init); +module_exit(i2c_exit); + +/* ---------------------------------------------------- + * the functional interface to the i2c busses. + * ---------------------------------------------------- + */ + +int i2c_transfer(struct i2c_adapter * adap, struct i2c_msg *msgs, int num) + { + int ret; + + if (adap->algo->master_xfer) + { +#ifdef DEBUG + + for (ret = 0; ret < num; ret++) + { + dev_dbg(&adap->dev, "master_xfer[%d] %c, addr=0x%02x, " + "len=%d\n", ret, msgs[ret].flags & I2C_M_RD ? + 'R' : 'W', msgs[ret].addr, msgs[ret].len); + } + +#endif + + down(&adap->bus_lock); + ret = adap->algo->master_xfer(adap, msgs, num); + up(&adap->bus_lock); + + return ret; + } + else + { + dev_dbg(&adap->dev, "I2C level transfers not supported\n"); + return -ENOSYS; + } + } + +int i2c_master_send(struct i2c_client *client, const char *buf, int count) + { + int ret; + struct i2c_adapter *adap = client->adapter; + struct i2c_msg msg; + + msg.addr = client->addr; + msg.flags = client->flags & I2C_M_TEN; + msg.len = count; + msg.buf = (char *)buf; + + ret = i2c_transfer(adap, &msg, 1); + + /* If everything went ok (i.e. 1 msg transmitted), return #bytes + transmitted, else error code. */ + return (ret == 1) ? count : ret; + } + +int i2c_master_recv(struct i2c_client *client, char *buf, int count) + { + struct i2c_adapter *adap = client->adapter; + struct i2c_msg msg; + int ret; + + msg.addr = client->addr; + msg.flags = client->flags & I2C_M_TEN; + msg.flags |= I2C_M_RD; + msg.len = count; + msg.buf = buf; + + ret = i2c_transfer(adap, &msg, 1); + + /* If everything went ok (i.e. 1 msg transmitted), return #bytes + transmitted, else error code. */ + return (ret == 1) ? count : ret; + } + +int i2c_control(struct i2c_client *client, + unsigned int cmd, unsigned long arg) + { + int ret = 0; + struct i2c_adapter *adap = client->adapter; + + dev_dbg(&client->adapter->dev, "i2c ioctl, cmd: 0x%x, arg: %#lx\n", cmd, arg); + + switch (cmd) + { + case I2C_RETRIES: + adap->retries = arg; + break; + + case I2C_TIMEOUT: + adap->timeout = arg; + break; + + default: + + if (adap->algo->algo_control != NULL) + ret = adap->algo->algo_control(adap, cmd, arg); + } + + return ret; + } + +/* ---------------------------------------------------- + * the i2c address scanning function + * Will not work for 10-bit addresses! + * ---------------------------------------------------- + */ +static int i2c_probe_address(struct i2c_adapter *adapter, int addr, int kind, + int (*found_proc)(struct i2c_adapter *, int, int)) + { + int err; + + /* Make sure the address is valid */ + if (addr < 0x03 || addr > 0x77) + { + dev_warn(&adapter->dev, "Invalid probe address 0x%02x\n", + addr); + return -EINVAL; + } + + /* Skip if already in use */ + if (i2c_check_addr(adapter, addr)) + return 0; + + /* Make sure there is something at this address, unless forced */ + if (kind < 0) + { + if (i2c_smbus_xfer(adapter, addr, 0, 0, 0, + I2C_SMBUS_QUICK, NULL) < 0) + return 0; + + /* prevent 24RF08 corruption */ + if ((addr & ~0x0f) == 0x50) + i2c_smbus_xfer(adapter, addr, 0, 0, 0, + I2C_SMBUS_QUICK, NULL); + } + + /* Finally call the custom detection function */ + err = found_proc(adapter, addr, kind); + + /* -ENODEV can be returned if there is a chip at the given address + but it isn't supported by this chip driver. We catch it here as + this isn't an error. */ + return (err == -ENODEV) ? 0 : err; + } + +int i2c_probe(struct i2c_adapter *adapter, + struct i2c_client_address_data *address_data, + int (*found_proc)(struct i2c_adapter *, int, int)) + { + int i, err; + int adap_id = i2c_adapter_id(adapter); + + /* Forget it if we can't probe using SMBUS_QUICK */ + if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_QUICK)) + return -1; + + /* Force entries are done first, and are not affected by ignore + entries */ + if (address_data->forces) + { + unsigned short **forces = address_data->forces; + int kind; + + for (kind = 0; forces[kind]; kind++) + { + for (i = 0; forces[kind][i] != I2C_CLIENT_END; + i += 2) + { + if (forces[kind][i] == adap_id + || forces[kind][i] == ANY_I2C_BUS) + { + dev_dbg(&adapter->dev, "found force " + "parameter for adapter %d, " + "addr 0x%02x, kind %d\n", + adap_id, forces[kind][i + 1], + kind); + err = i2c_probe_address(adapter, + forces[kind][i + 1], + kind, found_proc); + + if (err) + return err; + } + } + } + } + + /* Probe entries are done second, and are not affected by ignore + entries either */ + for (i = 0; address_data->probe[i] != I2C_CLIENT_END; i += 2) + { + if (address_data->probe[i] == adap_id + || address_data->probe[i] == ANY_I2C_BUS) + { + dev_dbg(&adapter->dev, "found probe parameter for " + "adapter %d, addr 0x%02x\n", adap_id, + address_data->probe[i + 1]); + err = i2c_probe_address(adapter, + address_data->probe[i + 1], + -1, found_proc); + + if (err) + return err; + } + } + + /* Normal entries are done last, unless shadowed by an ignore entry */ + for (i = 0; address_data->normal_i2c[i] != I2C_CLIENT_END; i += 1) + { + int j, ignore; + + ignore = 0; + + for (j = 0; address_data->ignore[j] != I2C_CLIENT_END; + j += 2) + { + if ((address_data->ignore[j] == adap_id || + address_data->ignore[j] == ANY_I2C_BUS) + && address_data->ignore[j + 1] + == address_data->normal_i2c[i]) + { + dev_dbg(&adapter->dev, "found ignore " + "parameter for adapter %d, " + "addr 0x%02x\n", adap_id, + address_data->ignore[j + 1]); + } + + ignore = 1; + break; + } + + if (ignore) + continue; + + dev_dbg(&adapter->dev, "found normal entry for adapter %d, " + "addr 0x%02x\n", adap_id, + address_data->normal_i2c[i]); + err = i2c_probe_address(adapter, address_data->normal_i2c[i], + -1, found_proc); + + if (err) + return err; + } + + return 0; + } + +struct i2c_adapter* i2c_get_adapter(int id) + { + struct i2c_adapter *adapter; + + down(&core_lists); + adapter = (struct i2c_adapter *)idr_find(&i2c_adapter_idr, id); + + if (adapter && !try_module_get(adapter->owner)) + adapter = NULL; + + up(&core_lists); + return adapter; + } + +void i2c_put_adapter(struct i2c_adapter *adap) + { + module_put(adap->owner); + } + +/* The SMBus parts */ + +#define POLY (0x1070U << 3) +static u8 +crc8(u16 data) + { + int i; + + for (i = 0; i < 8; i++) + { + if (data & 0x8000) + data = data ^ POLY; + + data = data << 1; + } + + return (u8)(data >> 8); + } + +/* CRC over count bytes in the first array plus the bytes in the rest + array if it is non-null. rest[0] is the (length of rest) - 1 + and is included. */ +static u8 i2c_smbus_partial_pec(u8 crc, int count, u8 *first, u8 *rest) + { + int i; + + for (i = 0; i < count; i++) + crc = crc8((crc ^ first[i]) << 8); + + if (rest != NULL) + for (i = 0; i <= rest[0]; i++) + crc = crc8((crc ^ rest[i]) << 8); + + return crc; + } + +static u8 i2c_smbus_pec(int count, u8 *first, u8 *rest) + { + return i2c_smbus_partial_pec(0, count, first, rest); + } + +/* Returns new "size" (transaction type) + Note that we convert byte to byte_data and byte_data to word_data + rather than invent new xxx_PEC transactions. */ +static int i2c_smbus_add_pec(u16 addr, u8 command, int size, + union i2c_smbus_data *data) + { + u8 buf[3]; + + buf[0] = addr << 1; + buf[1] = command; + + switch (size) + { + case I2C_SMBUS_BYTE: + data->byte = i2c_smbus_pec(2, buf, NULL); + size = I2C_SMBUS_BYTE_DATA; + break; + + case I2C_SMBUS_BYTE_DATA: + buf[2] = data->byte; + data->word = buf[2] || + (i2c_smbus_pec(3, buf, NULL) << 8); + size = I2C_SMBUS_WORD_DATA; + break; + + case I2C_SMBUS_WORD_DATA: + /* unsupported */ + break; + + case I2C_SMBUS_BLOCK_DATA: + data->block[data->block[0] + 1] = + i2c_smbus_pec(2, buf, data->block); + size = I2C_SMBUS_BLOCK_DATA_PEC; + break; + } + + return size; + } + +static int i2c_smbus_check_pec(u16 addr, u8 command, int size, u8 partial, + union i2c_smbus_data *data) + { + u8 buf[3], rpec, cpec; + + buf[1] = command; + + switch (size) + { + case I2C_SMBUS_BYTE_DATA: + buf[0] = (addr << 1) | 1; + cpec = i2c_smbus_pec(2, buf, NULL); + rpec = data->byte; + break; + + case I2C_SMBUS_WORD_DATA: + buf[0] = (addr << 1) | 1; + buf[2] = data->word & 0xff; + cpec = i2c_smbus_pec(3, buf, NULL); + rpec = data->word >> 8; + break; + + case I2C_SMBUS_WORD_DATA_PEC: + /* unsupported */ + cpec = rpec = 0; + break; + + case I2C_SMBUS_PROC_CALL_PEC: + /* unsupported */ + cpec = rpec = 0; + break; + + case I2C_SMBUS_BLOCK_DATA_PEC: + buf[0] = (addr << 1); + buf[2] = (addr << 1) | 1; + cpec = i2c_smbus_pec(3, buf, data->block); + rpec = data->block[data->block[0] + 1]; + break; + + case I2C_SMBUS_BLOCK_PROC_CALL_PEC: + buf[0] = (addr << 1) | 1; + rpec = i2c_smbus_partial_pec(partial, 1, + buf, data->block); + cpec = data->block[data->block[0] + 1]; + break; + + default: + cpec = rpec = 0; + break; + } + + if (rpec != cpec) + { + pr_debug("i2c-core: Bad PEC 0x%02x vs. 0x%02x\n", + rpec, cpec); + return -1; + } + + return 0; + } + +s32 i2c_smbus_write_quick(struct i2c_client *client, u8 value) + { + return i2c_smbus_xfer(client->adapter, client->addr, client->flags, + value, 0, I2C_SMBUS_QUICK, NULL); + } + +s32 i2c_smbus_read_byte(struct i2c_client *client) + { + union i2c_smbus_data data; + + if (i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_READ, 0, I2C_SMBUS_BYTE, &data)) + return -1; + else + return 0x0FF & data.byte; + } + +s32 i2c_smbus_write_byte(struct i2c_client *client, u8 value) + { + union i2c_smbus_data data; /* only for PEC */ + + return i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_WRITE, value, I2C_SMBUS_BYTE, &data); + } + +s32 i2c_smbus_read_byte_data(struct i2c_client *client, u8 command) + { + union i2c_smbus_data data; + + if (i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_READ, command, I2C_SMBUS_BYTE_DATA, &data)) + return -1; + else + return 0x0FF & data.byte; + } + +s32 i2c_smbus_write_byte_data(struct i2c_client *client, u8 command, u8 value) + { + union i2c_smbus_data data; + + data.byte = value; + return i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_WRITE, command, + I2C_SMBUS_BYTE_DATA, &data); + } + +s32 i2c_smbus_read_word_data(struct i2c_client *client, u8 command) + { + union i2c_smbus_data data; + + if (i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_READ, command, I2C_SMBUS_WORD_DATA, &data)) + return -1; + else + return 0x0FFFF & data.word; + } + +s32 i2c_smbus_write_word_data(struct i2c_client *client, u8 command, u16 value) + { + union i2c_smbus_data data; + + data.word = value; + return i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_WRITE, command, + I2C_SMBUS_WORD_DATA, &data); + } + +s32 i2c_smbus_write_block_data(struct i2c_client *client, u8 command, + u8 length, u8 *values) + { + union i2c_smbus_data data; + int i; + + if (length > I2C_SMBUS_BLOCK_MAX) + length = I2C_SMBUS_BLOCK_MAX; + + for (i = 1; i <= length; i++) + data.block[i] = values[i - 1]; + + data.block[0] = length; + return i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_WRITE, command, + I2C_SMBUS_BLOCK_DATA, &data); + } + +/* Returns the number of read bytes */ +s32 i2c_smbus_read_i2c_block_data(struct i2c_client *client, u8 command, u8 *values) + { + union i2c_smbus_data data; + int i; + + if (i2c_smbus_xfer(client->adapter, client->addr, client->flags, + I2C_SMBUS_READ, command, + I2C_SMBUS_I2C_BLOCK_DATA, &data)) + return -1; + else + { + for (i = 1; i <= data.block[0]; i++) + values[i - 1] = data.block[i]; + + return data.block[0]; + } + } + +/* Simulate a SMBus command using the i2c protocol + No checking of parameters is done! */ +static s32 i2c_smbus_xfer_emulated(struct i2c_adapter * adapter, u16 addr, + unsigned short flags, + char read_write, u8 command, int size, + union i2c_smbus_data * data) + { + /* So we need to generate a series of msgs. In the case of writing, we + need to use only one message; when reading, we need two. We initialize + most things with sane defaults, to keep the code below somewhat + simpler. */ + unsigned char msgbuf0[34]; + unsigned char msgbuf1[34]; + int num = read_write == I2C_SMBUS_READ ? 2 : 1; + struct i2c_msg msg[2] = { { addr, flags, 1, msgbuf0 }, + { addr, flags | I2C_M_RD, 0, msgbuf1 } }; + int i; + + msgbuf0[0] = command; + + switch (size) + { + case I2C_SMBUS_QUICK: + msg[0].len = 0; + /* Special case: The read/write field is used as data */ + msg[0].flags = flags | (read_write == I2C_SMBUS_READ) ? I2C_M_RD : 0; + num = 1; + break; + + case I2C_SMBUS_BYTE: + + if (read_write == I2C_SMBUS_READ) + { + /* Special case: only a read! */ + msg[0].flags = I2C_M_RD | flags; + num = 1; + } + + break; + + case I2C_SMBUS_BYTE_DATA: + + if (read_write == I2C_SMBUS_READ) + msg[1].len = 1; + else + { + msg[0].len = 2; + msgbuf0[1] = data->byte; + } + + break; + + case I2C_SMBUS_WORD_DATA: + + if (read_write == I2C_SMBUS_READ) + msg[1].len = 2; + else + { + msg[0].len = 3; + msgbuf0[1] = data->word & 0xff; + msgbuf0[2] = (data->word >> 8) & 0xff; + } + + break; + + case I2C_SMBUS_PROC_CALL: + num = 2; /* Special case */ + read_write = I2C_SMBUS_READ; + msg[0].len = 3; + msg[1].len = 2; + msgbuf0[1] = data->word & 0xff; + msgbuf0[2] = (data->word >> 8) & 0xff; + break; + + case I2C_SMBUS_BLOCK_DATA: + case I2C_SMBUS_BLOCK_DATA_PEC: + + if (read_write == I2C_SMBUS_READ) + { + dev_err(&adapter->dev, "Block read not supported " + "under I2C emulation!\n"); + return -1; + } + else + { + msg[0].len = data->block[0] + 2; + + if (msg[0].len > I2C_SMBUS_BLOCK_MAX + 2) + { + dev_err(&adapter->dev, "smbus_access called with " + "invalid block write size (%d)\n", + data->block[0]); + return -1; + } + + if (size == I2C_SMBUS_BLOCK_DATA_PEC) + (msg[0].len)++; + + for (i = 1; i <= msg[0].len; i++) + msgbuf0[i] = data->block[i - 1]; + } + + break; + + case I2C_SMBUS_BLOCK_PROC_CALL: + case I2C_SMBUS_BLOCK_PROC_CALL_PEC: + dev_dbg(&adapter->dev, "Block process call not supported " + "under I2C emulation!\n"); + return -1; + + case I2C_SMBUS_I2C_BLOCK_DATA: + + if (read_write == I2C_SMBUS_READ) + msg[1].len = I2C_SMBUS_I2C_BLOCK_MAX; + else + { + msg[0].len = data->block[0] + 1; + + if (msg[0].len > I2C_SMBUS_I2C_BLOCK_MAX + 1) + { + dev_err(&adapter->dev, "i2c_smbus_xfer_emulated called with " + "invalid block write size (%d)\n", + data->block[0]); + return -1; + } + + for (i = 1; i <= data->block[0]; i++) + msgbuf0[i] = data->block[i]; + } + + break; + + default: + dev_err(&adapter->dev, "smbus_access called with invalid size (%d)\n", + size); + return -1; + } + + if (i2c_transfer(adapter, msg, num) < 0) + return -1; + + if (read_write == I2C_SMBUS_READ) + switch (size) + { + case I2C_SMBUS_BYTE: + data->byte = msgbuf0[0]; + break; + + case I2C_SMBUS_BYTE_DATA: + data->byte = msgbuf1[0]; + break; + + case I2C_SMBUS_WORD_DATA: + case I2C_SMBUS_PROC_CALL: + data->word = msgbuf1[0] | (msgbuf1[1] << 8); + break; + + case I2C_SMBUS_I2C_BLOCK_DATA: + /* fixed at 32 for now */ + data->block[0] = I2C_SMBUS_I2C_BLOCK_MAX; + + for (i = 0; i < I2C_SMBUS_I2C_BLOCK_MAX; i++) + data->block[i + 1] = msgbuf1[i]; + + break; + } + + return 0; + } + +s32 i2c_smbus_xfer(struct i2c_adapter * adapter, u16 addr, unsigned short flags, + char read_write, u8 command, int size, + union i2c_smbus_data * data) + { + s32 res; + int swpec = 0; + u8 partial = 0; + + flags &= I2C_M_TEN | I2C_CLIENT_PEC; + + if ((flags & I2C_CLIENT_PEC) && + !(i2c_check_functionality(adapter, I2C_FUNC_SMBUS_HWPEC_CALC))) + { + swpec = 1; + + if (read_write == I2C_SMBUS_READ && + size == I2C_SMBUS_BLOCK_DATA) + size = I2C_SMBUS_BLOCK_DATA_PEC; + else if (size == I2C_SMBUS_PROC_CALL) + size = I2C_SMBUS_PROC_CALL_PEC; + else if (size == I2C_SMBUS_BLOCK_PROC_CALL) + { + i2c_smbus_add_pec(addr, command, + I2C_SMBUS_BLOCK_DATA, data); + partial = data->block[data->block[0] + 1]; + size = I2C_SMBUS_BLOCK_PROC_CALL_PEC; + } + else if (read_write == I2C_SMBUS_WRITE && + size != I2C_SMBUS_QUICK && + size != I2C_SMBUS_I2C_BLOCK_DATA) + size = i2c_smbus_add_pec(addr, command, size, data); + } + + if (adapter->algo->smbus_xfer) + { + down(&adapter->bus_lock); + res = adapter->algo->smbus_xfer(adapter, addr, flags, read_write, + command, size, data); + up(&adapter->bus_lock); + } + else + res = i2c_smbus_xfer_emulated(adapter, addr, flags, read_write, + command, size, data); + + if (res >= 0 && swpec && + size != I2C_SMBUS_QUICK && size != I2C_SMBUS_I2C_BLOCK_DATA && + (read_write == I2C_SMBUS_READ || size == I2C_SMBUS_PROC_CALL_PEC || + size == I2C_SMBUS_BLOCK_PROC_CALL_PEC)) + if (i2c_smbus_check_pec(addr, command, size, partial, data)) + return -1; + + return res; + } + +/* Next four are needed by i2c-isa */ +EXPORT_SYMBOL_GPL(i2c_adapter_dev_release); +EXPORT_SYMBOL_GPL(i2c_adapter_driver); +EXPORT_SYMBOL_GPL(i2c_adapter_class); +EXPORT_SYMBOL_GPL(i2c_bus_type); + +EXPORT_SYMBOL(i2c_add_adapter); +EXPORT_SYMBOL(i2c_del_adapter); +EXPORT_SYMBOL(i2c_add_driver); +EXPORT_SYMBOL(i2c_del_driver); +EXPORT_SYMBOL(i2c_attach_client); +EXPORT_SYMBOL(i2c_detach_client); +EXPORT_SYMBOL(i2c_use_client); +EXPORT_SYMBOL(i2c_release_client); +EXPORT_SYMBOL(i2c_clients_command); +EXPORT_SYMBOL(i2c_check_addr); + +EXPORT_SYMBOL(i2c_master_send); +EXPORT_SYMBOL(i2c_master_recv); +EXPORT_SYMBOL(i2c_control); +EXPORT_SYMBOL(i2c_transfer); +EXPORT_SYMBOL(i2c_get_adapter); +EXPORT_SYMBOL(i2c_put_adapter); +EXPORT_SYMBOL(i2c_probe); + +EXPORT_SYMBOL(i2c_smbus_xfer); +EXPORT_SYMBOL(i2c_smbus_write_quick); +EXPORT_SYMBOL(i2c_smbus_read_byte); +EXPORT_SYMBOL(i2c_smbus_write_byte); +EXPORT_SYMBOL(i2c_smbus_read_byte_data); +EXPORT_SYMBOL(i2c_smbus_write_byte_data); +EXPORT_SYMBOL(i2c_smbus_read_word_data); +EXPORT_SYMBOL(i2c_smbus_write_word_data); +EXPORT_SYMBOL(i2c_smbus_write_block_data); +EXPORT_SYMBOL(i2c_smbus_read_i2c_block_data); + +MODULE_AUTHOR("Simon G. Vogl <simon@tk.uni-linz.ac.at>"); +MODULE_DESCRIPTION("I2C-Bus main module"); +MODULE_LICENSE("GPL"); diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02101-comment-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02101-comment-indent.c new file mode 100644 index 00000000..7c5f0f0c --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02101-comment-indent.c @@ -0,0 +1,36 @@ +/** + * This is your typical header comment + */ +int foo(int bar) + { + int idx; + int res = 0; // trailing comment + + // that spans two lines + for (idx = 1; idx < bar; idx++) + /* comment in virtual braces */ + res += idx; + + res *= idx; // some comment + + // almost continued, but a NL in between + +// col1 comment in level 1 +// second comment + return res; + } + +// col1 comment in level 0 +// and another + +void foo() + { + if (bar) + foo(); + /*else if( bar2 ) + { + foo2(); + } + */else if (bar3) + foo3(); + } diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02200-xml.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02200-xml.c new file mode 100644 index 00000000..62bd81d0 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02200-xml.c @@ -0,0 +1,9 @@ +void foo(void) +{ + const char *a = "<xml>" + "<data Parent=\"%d\" Name=\"%s\">" + "<Child Id=\"%d\"/>" + "</data>" + "</xml>"; +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02201-align-string.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02201-align-string.c new file mode 100644 index 00000000..0b2cf25a --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02201-align-string.c @@ -0,0 +1,14 @@ + +// note - set threshold to three +void foo(void) +{ + printf("This is the first line\n" + "And this is the second.\n"); + + fprintf(stderr, "This is the first line\n" + "And this is the second.\n"); + + fprintf(stderr, "Format string: %s", "This is the first line\n" + "And this is the second.\n"); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02300-preproc-if.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02300-preproc-if.c new file mode 100644 index 00000000..8e20a744 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02300-preproc-if.c @@ -0,0 +1,36 @@ + +int main() +{ + int a; + +#ifndef SOMEDEF + int b; +#endif /* SOMEDEF */ + + if (a) + { + } +#ifndef SOMEDEF + else if (b) + { + } +#endif /* SOMEDEF */ + +/* same thing w/o preprocs for reference */ + if (a) + { + } + else if (b) + { + } + +#ifdef FOO + do + { + Foo(); + } +#endif + while (Loop--); +} + + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02301-preproc-if.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02301-preproc-if.c new file mode 100644 index 00000000..0130e1f5 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02301-preproc-if.c @@ -0,0 +1,36 @@ + +int main() +{ + int a; + +#ifndef SOMEDEF + int b; +#endif /* SOMEDEF */ + + if (a) + { + } +#ifndef SOMEDEF + else if (b) + { + } +#endif /* SOMEDEF */ + +/* same thing w/o preprocs for reference */ + if (a) + { + } + else if (b) + { + } + +#ifdef FOO + do + { + Foo(); + } +#endif + while (Loop--); +} + + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02302-nl-cont.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02302-nl-cont.c new file mode 100644 index 00000000..dfbb0c2d --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02302-nl-cont.c @@ -0,0 +1,23 @@ +
+#define FOO(bar) create_a_really_long_identifier name(some_function( \
+ bar1 + bar2), bar3, \
+ bar4);
+
+#define VNV_RECORD_CYCLES(m) do { \
+ uint16_t cyc_out = ((uint16_t )TMR4) - cyc_in; \
+ if (cyc_out < vnv_ticks[m].min) vnv_ticks[m].min = cyc_out; \
+ if (cyc_out > vnv_ticks[m].max) vnv_ticks[m].max = cyc_out; \
+} while (0)
+
+#define multilinemacro do { (x+5); } while (0); \
+ printf("a multilinemacro"); \
+ printf("a multilinemacro2");
+
+int main(int argc, char *argv[])
+{
+ int a, b;
+ a = 1; /* stupid comment \\ */
+ b = 2;
+
+ return(a+b);
+}
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02303-nl-cont2.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02303-nl-cont2.c new file mode 100644 index 00000000..a0129423 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02303-nl-cont2.c @@ -0,0 +1,18 @@ +
+#define FOO(bar) create_a_really_long_identifier name(some_function( \
+ bar1 + bar2), bar3, \
+ bar4);
+
+#define multilinemacro do { (x+5); } while (0); \
+ printf("a multilinemacro"); \
+ printf("a multilinemacro2");
+
+int main(int argc, char *argv[])
+{
+ int a, b;
+ a = 1; /* stupid comment \
+ * b = 2; */
+
+ return(a+b);
+}
+
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02310-empty-for.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02310-empty-for.c new file mode 100644 index 00000000..4bd43b09 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02310-empty-for.c @@ -0,0 +1,6 @@ +void foo(void) +{ + for ( ; x < 2; x++) + { + } +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02311-pragma.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02311-pragma.c new file mode 100644 index 00000000..ec944697 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02311-pragma.c @@ -0,0 +1,13 @@ + +#pragma do not change anything in this pragma! + +// This next bit should parse as '#', pragma, preproc-body, nl-cont, +// preproc-body, nl-cont, preproc-body +#pragma multi \ + line \ + pragma + +#pragma mark -------- Protected Member Functions ---------------- + +#pragma some comment follows // comment + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02315-pp_ret.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02315-pp_ret.c new file mode 100644 index 00000000..18a3d5cb --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02315-pp_ret.c @@ -0,0 +1,13 @@ +#if 0 +int +#else +unsigned +#endif +f() +{ + return 0; +} + +#ifdef FOO +#define BAR . +#endif diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02320-nl_create_one_liner.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02320-nl_create_one_liner.c new file mode 100644 index 00000000..55974c3c --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02320-nl_create_one_liner.c @@ -0,0 +1,13 @@ +void foo() +{ + if (a) b++; + if (a) { + b++; + } + if (a) + if (b) c++; + + for (i=0; i<5; i++) bar(i); + while (i>0) bar(--i); + +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02325-sort_include.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02325-sort_include.c new file mode 100644 index 00000000..4f2b20bf --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02325-sort_include.c @@ -0,0 +1,22 @@ +// should be ddd, eee, fff +#include "ddd" +#include "eee" +#include "fff" + +// should be aaa, ccc +#include "aaa" +#include "ccc" +// should be just bbb +#include "bbb" + +// should be a, aa +#include "a" +#include "aa" + +// should be a, aa +#include <a> +#include <aa> + +// should be b, a +#include "b" +#include <a> diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02410-ifdef-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02410-ifdef-indent.c new file mode 100644 index 00000000..e71d8cf3 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02410-ifdef-indent.c @@ -0,0 +1,43 @@ +#ifdef foo + #include <foo1.h> +#else + #include <foo2.h> +#endif + +#ifdef foo +/* Commentary for func1() */ +void func1(); + +/* Commentary for func2() */ +void func2(); +#endif + +int +show_interrupts(struct seq_file *p, void *v) +{ + #ifndef CONFIG_SMP + a++; + #else + for (b = 0; b < 9; b++) + if (b & 1) + k++; + #endif + + if (v) + { + bar(v); + #if DEBUG == 1 + printf("yup\n"); + #endif + } +} + +void foo() +{ + int i=0; + #if DEBUG == 1 + i--; + #endif + i++; +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02411-ifdef-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02411-ifdef-indent.c new file mode 100644 index 00000000..bf39a98c --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02411-ifdef-indent.c @@ -0,0 +1,43 @@ +#ifdef foo + #include <foo1.h> +#else + #include <foo2.h> +#endif + +#ifdef foo +/* Commentary for func1() */ + void func1(); + +/* Commentary for func2() */ + void func2(); +#endif + +int +show_interrupts(struct seq_file *p, void *v) +{ + #ifndef CONFIG_SMP + a++; + #else + for (b = 0; b < 9; b++) + if (b & 1) + k++; + #endif + + if (v) + { + bar(v); + #if DEBUG == 1 + printf("yup\n"); + #endif + } +} + +void foo() +{ + int i=0; + #if DEBUG == 1 + i--; + #endif + i++; +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02412-ifdef-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02412-ifdef-indent.c new file mode 100644 index 00000000..23b4dd37 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02412-ifdef-indent.c @@ -0,0 +1,43 @@ +#ifdef foo + #include <foo1.h> +#else + #include <foo2.h> +#endif + +#ifdef foo +/* Commentary for func1() */ +void func1(); + +/* Commentary for func2() */ +void func2(); +#endif + +int +show_interrupts(struct seq_file *p, void *v) +{ +#ifndef CONFIG_SMP + a++; +#else + for (b = 0; b < 9; b++) + if (b & 1) + k++; +#endif + + if (v) + { + bar(v); + #if DEBUG == 1 + printf("yup\n"); + #endif + } +} + +void foo() +{ + int i=0; +#if DEBUG == 1 + i--; +#endif + i++; +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02413-ifdef-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02413-ifdef-indent.c new file mode 100644 index 00000000..8738bbf7 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02413-ifdef-indent.c @@ -0,0 +1,43 @@ +#ifdef foo + #include <foo1.h> +#else + #include <foo2.h> +#endif + +#ifdef foo + /* Commentary for func1() */ + void func1(); + + /* Commentary for func2() */ + void func2(); +#endif + +int +show_interrupts(struct seq_file *p, void *v) +{ +#ifndef CONFIG_SMP + a++; +#else + for (b = 0; b < 9; b++) + if (b & 1) + k++; +#endif + + if (v) + { + bar(v); +#if DEBUG == 1 + printf("yup\n"); +#endif + } +} + +void foo() +{ + int i=0; +#if DEBUG == 1 + i--; +#endif + i++; +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02414-whole_file_ifdef.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02414-whole_file_ifdef.c new file mode 100644 index 00000000..c767bbf7 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02414-whole_file_ifdef.c @@ -0,0 +1,13 @@ +/* Header */ + + +#ifdef WHOLE_FILE + + +void foo(); + + +#endif /* WHOLE_FILE */ + + +/* Footer */ diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02415-endif.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02415-endif.c new file mode 100644 index 00000000..c8b99a6a --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02415-endif.c @@ -0,0 +1,29 @@ +int do_this
+(
+ int x,
+ int y
+)
+{
+
+ x++;
+ #ifdef ABC
+ #ifdef DEF
+ x += y;
+ #endif
+ #endif
+ a++;
+ #ifdef ABC
+ b++;
+ #ifdef DEF
+ c++;
+ #ifdef HIJ
+ d++;
+ #endif
+ e++;
+ #endif
+ f++;
+ #endif
+ g++;
+
+ return (x)
+}
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02416-cmt_nl_end.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02416-cmt_nl_end.c new file mode 100644 index 00000000..56de21ec --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02416-cmt_nl_end.c @@ -0,0 +1,13 @@ +int do_this
+(
+ int x,
+ int y
+)
+{
+ x += y; // x = x + y
+
+ if(x == 3)
+ x++; // x plus 1
+
+ return (x)
+}
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02421-cmt_multi.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02421-cmt_multi.c new file mode 100644 index 00000000..61faac36 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02421-cmt_multi.c @@ -0,0 +1,17 @@ +/************************************************
+ * This is a multiline comment.
+ * The first and last lines are the same length
+ ************************************************/
+
+/****************************************************************************
+ A multi-line comment that is broken in two parts.
+ *//**
+ Second part
+ ****************************************************************************/
+
+/****************************************************************************
+ A multi-line comment that is broken in two parts.
+ */ /**
+ Second part
+ ****************************************************************************/
+
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02422-cmt_multi.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02422-cmt_multi.c new file mode 100644 index 00000000..bbdd79cd --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02422-cmt_multi.c @@ -0,0 +1,17 @@ +/************************************************
+* This is a multiline comment.
+* The first and last lines are the same length
+************************************************/
+
+/****************************************************************************
+ A multi-line comment that is broken in two parts.
+*//**
+ Second part
+****************************************************************************/
+
+/****************************************************************************
+ A multi-line comment that is broken in two parts.
+*/ /**
+ Second part
+****************************************************************************/
+
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02423-cmt_multi_utf8.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02423-cmt_multi_utf8.c new file mode 100644 index 00000000..05b01f84 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02423-cmt_multi_utf8.c @@ -0,0 +1,2 @@ +/* This is a multiline comment with a UTF8 character: á + */ diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02431-cmt_right_align.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02431-cmt_right_align.c new file mode 100644 index 00000000..315e5010 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02431-cmt_right_align.c @@ -0,0 +1,47 @@ +
+int foo1(int bar)
+{
+ if(bar)
+ {
+ if(b)
+ {
+ if(a)
+ {
+ if(r)
+ {
+ return(r); /* cool */
+ }
+ else /* if (r) */
+ {
+ return(bar); /* uncool */
+ } /* if (r) */
+ } /* if (a) */
+ } /* if (b) */
+ } /* if (bar) */
+
+ return(-1);
+} /* foo */
+
+int foo2(int bar)
+{
+ if(bar)
+ {
+ if(b)
+ {
+ if(a)
+ {
+ if(r)
+ {
+ return(r);
+ }
+ else
+ {
+ return(bar);
+ } /* if (r) */
+ } /* if (a) */
+ } /* if (b) */
+ } /* if (bar) */
+
+ return(-1);
+} /* foo */
+
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02432-cmt_right_align.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02432-cmt_right_align.c new file mode 100644 index 00000000..eef43777 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02432-cmt_right_align.c @@ -0,0 +1,47 @@ +
+int foo1(int bar)
+{
+ if(bar)
+ {
+ if(b)
+ {
+ if(a)
+ {
+ if(r)
+ {
+ return(r); /* cool */
+ }
+ else /* if (r) */
+ {
+ return(bar); /* uncool */
+ } /* if (r) */
+ } /* if (a) */
+ } /* if (b) */
+ } /* if (bar) */
+
+ return(-1);
+} /* foo */
+
+int foo2(int bar)
+{
+ if(bar)
+ {
+ if(b)
+ {
+ if(a)
+ {
+ if(r)
+ {
+ return(r);
+ }
+ else
+ {
+ return(bar);
+ } /* if (r) */
+ } /* if (a) */
+ } /* if (b) */
+ } /* if (bar) */
+
+ return(-1);
+} /* foo */
+
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02440-string_utf8.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02440-string_utf8.c new file mode 100644 index 00000000..a473e1bf --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02440-string_utf8.c @@ -0,0 +1 @@ +char* x = "ä¸å›½èªž (ç¹ä½“)"; diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02441-utf8-identifiers.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02441-utf8-identifiers.c new file mode 100644 index 00000000..1dc39e9c --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02441-utf8-identifiers.c @@ -0,0 +1,14 @@ +void FooUtf8Сhar(void) // C is encoded in UTF-8 +{ +} + +struct テスト // Japanese 'test' +{ + void トスト() { + } // Japanese 'toast' +}; + +int main() { + テスト パン; // Japanese パン 'bread' + パン.トスト(); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02451-nl_return_expr.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02451-nl_return_expr.c new file mode 100644 index 00000000..bf8621d5 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02451-nl_return_expr.c @@ -0,0 +1,24 @@ + +int foo1(void) +{ + bar(); + return(NewClass(1)); +} + +int foo2(void) +{ + return(NewClass(2)); +} + +int foo3(void) +{ + bar(none); + // comment + return(3); +} + +int foo4(void) +{ + return(4); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02452-nl_return_expr.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02452-nl_return_expr.c new file mode 100644 index 00000000..4dc23adf --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02452-nl_return_expr.c @@ -0,0 +1,24 @@ + +int foo1(void) +{ + bar(); + return NewClass(1); +} + +int foo2(void) +{ + return NewClass(2); +} + +int foo3(void) +{ + bar(none); + // comment + return 3; +} + +int foo4(void) +{ + return 4; +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02453-nl_return_expr.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02453-nl_return_expr.c new file mode 100644 index 00000000..c917fb17 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02453-nl_return_expr.c @@ -0,0 +1,28 @@ + +int foo1(void) +{ + bar(); + return + NewClass(1); +} + +int foo2(void) +{ + return + NewClass(2); +} + +int foo3(void) +{ + bar(none); + // comment + return + 3; +} + +int foo4(void) +{ + return + 4; +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02454-nl_return_expr.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02454-nl_return_expr.c new file mode 100644 index 00000000..2e33d2b0 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02454-nl_return_expr.c @@ -0,0 +1,30 @@ + +int foo1(void) +{ + bar(); + + return + (NewClass(1)); +} + +int foo2(void) +{ + return + (NewClass(2)); +} + +int foo3(void) +{ + bar(none); + + // comment + return + (3); +} + +int foo4(void) +{ + return + (4); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02455-macro-returns.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02455-macro-returns.c new file mode 100644 index 00000000..dba84c56 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02455-macro-returns.c @@ -0,0 +1,15 @@ +#define foo1 return(x + \ + y) + +#define foo2 return (x + \ + y) + +#define foo3 return \ + (0) + +#define foo4 return \ + (0) + +#define foo5 return /* empty */ + +#define foo6 return \ diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02456-macro-returns.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02456-macro-returns.c new file mode 100644 index 00000000..7cd29044 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02456-macro-returns.c @@ -0,0 +1,15 @@ +#define foo1 return x + \ + y + +#define foo2 return x + \ + y + +#define foo3 return \ + 0 + +#define foo4 return \ + 0 + +#define foo5 return /* empty */ + +#define foo6 return \ diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02457-nl_before_return.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02457-nl_before_return.c new file mode 100644 index 00000000..a396202f --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02457-nl_before_return.c @@ -0,0 +1,186 @@ +int foo1(int arg) +{ + if (arg == 0) return 1; + if (arg == 1) /* comment */ return 2; + if (arg == 2) + /* C-style comment */ + return 3; + if (arg == 3) /* trailing comment */ + return 4; + if (arg == 4) /* trailing comment */ + /* C-style comment */ + return 5; + if (arg == 5) + // C++-style comment + return 6; + if (arg == 6) + // Multi-line + // C++-style comment + return 7; + if (arg == 7) // trailing comment + // Multi-line + // C++-style comment + return 8; + if (arg == 8) + /* + * Multi-line C-style comment + */ + return 9; + if (arg == 9) + /*--------------------*/ + /* Multi-part comment */ + /*--------------------*/ + return 10; + if (arg == 10) + //----------------------- + /* + * Mixed-style comment + */ + //----------------------- + return 11; + if (arg == 11) + /* comment */ return 12; + if (arg == 12) + + // C++-style comment + return 13; + + return arg + 1; +} + +int foo2(int arg) +{ + if (arg == 0) { return 1; } + if (arg == 1) { /* comment */ return 2; } + if (arg == 2) { + /* C-style comment */ + return 3; + } + if (arg == 3) { /* trailing comment */ + return 4; + } + if (arg == 4) { /* trailing comment */ + /* C-style comment */ + return 5; + } + if (arg == 5) { + // C++-style comment + return 6; + } + if (arg == 6) { + // Multi-line + // C++-style comment + return 7; + } + if (arg == 7) { // trailing comment + // Multi-line + // C++-style comment + return 8; + } + if (arg == 8) { + /* + * Multi-line C-style comment + */ + return 9; + } + if (arg == 9) + { + /*--------------------*/ + /* Multi-part comment */ + /*--------------------*/ + return 10; + } + if (arg == 10) + { + //----------------------- + /* Mixed-style comment */ + //----------------------- + return 11; + } + if (arg == 11) + { + /* comment */ return 12; + } + if (arg == 12) { + + /* C-style comment */ + return 13; + } + + return arg + 1; +} + +int foo2(int arg) +{ + if (arg == 0) { int a = 1; return a; } + if (arg == 1) { int a = 2; /* comment */ return a; } + if (arg == 2) { + int a = 3; + + /* C-style comment */ + return a; + } + if (arg == 3) { + int a = 4; /* trailing comment */ + + return a; + } + if (arg == 4) { + int a = 5; /* trailing comment */ + + /* C-style comment */ + return a; + } + if (arg == 5) { + int a = 6; + + // C++-style comment + return a; + } + if (arg == 6) { + int a = 7; + + // Multi-line + // C++-style comment + return a; + } + if (arg == 7) { + int a = 8; // trailing comment + + // Multi-line + // C++-style comment + return a; + } + if (arg == 8) { + int a = 9; + + /*--------------------*/ + /* Multi-part comment */ + /*--------------------*/ + return a; + } + if (arg == 9) { + int a = 10; + + /*---------------------*/ + // Mixed-style comment + /*---------------------*/ + return a; + } + if (arg == 11) + { + int a = 12; + + /* comment */ return a; + } + if (arg == 12) { + int a = 13; + + /* + * Multi-line C-style comment + */ + return a; + } + + return arg + 1; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02460-freebsd.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02460-freebsd.c new file mode 100644 index 00000000..804c5ec7 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02460-freebsd.c @@ -0,0 +1,158 @@ +/* Make the structure name match the typedef. */ +typedef struct bar { + int level; +} BAR; +typedef int foo; /* This is foo. */ +typedef const long baz; /* This is baz. */ + + +static char *function(int _arg, const char *_arg2, struct foo *_arg3, + struct bar *_arg4); +static void usage(void); + +/* + * All major routines should have a comment briefly describing what + * they do. The comment before the "main" routine should describe + * what the program does. + */ +int +main(int argc, char *argv[]) +{ + char *ep; + long num; + int ch; + + while ((ch = getopt(argc, argv, "abNn:")) != -1) + { + switch (ch) /* Indent the switch. */ + { + case 'a': /* Don't indent the case. */ + aflag = 1; /* Indent case body one tab. */ + + /* FALLTHROUGH */ + case 'b': + bflag = 1; + break; + + case 'N': + Nflag = 1; + break; + + case 'n': + num = strtol(optarg, &ep, 10); + if ((num <= 0) || (*ep != '\0')) { + warnx("illegal number, -n argument -- %s", + optarg); + usage(); + } + break; + + case '?': + default: + usage(); + /* NOTREACHED */ + } + } + argc -= optind; + argv += optind; + + for (p = buf; *p != '\0'; ++p) + { + /* nothing */ + } + for ( ; ; ) + { + stmt; + } + for ( ; ; ) + { + zed = a + really + long + statement + that + needs + + two + lines + gets + indented + four + spaces + + on + the + second + and + subsequent + lines; + } + for ( ; ; ) + { + if (cond) { + stmt; + } + } + if (val != NULL) { + val = realloc(val, newsize); + } + + fcn_call(with, a, really, long, list, of, parameters, + that, spans, two, lines); + + for ( ; cnt < 15; cnt++) + { + stmt1; + stmt2; + } + + almod = (chunk_is_single_line_comment(pc) && + cpd.settings[UO_indent_relative_single_line_comments].b) ? + ALMODE_KEEP_REL : ALMODE_KEEP_ABS; + + /* Indentation is an 8 character tab. Second level indents are four spaces. + * If you have to wrap a long statement, put the operator at the end of the + * line. + */ + + while (cnt < 20 && this_variable_name_is_too_long && + ep != NULL) + { + zappy = a + really + long + statement + that + needs + + two + lines + gets + indented + four + spaces + + on + the + second + and + subsequent + lines; + } + + // Do not add whitespace at the end of a line, and only use tabs followed by + // spaces to form the indentation. Do not use more spaces than a tab will + // produce and do not use spaces in front of tabs. + // + // Closing and opening braces go on the same line as the else. Braces that + // are not necessary may be left out. + + if (test) { + stmt; + } else if (bar) { + stmt; + stmt; + } else{ + stmt; + } + + // No spaces after function names. Commas have a space after them. No spa- + // ces after `(' or `[' or preceding `]' or `)' characters. + + error = function(a1, a2); + if (error != 0) { + exit(error); + } + + // Unary operators do not require spaces, binary operators do. Do not use + // parentheses unless they are required for precedence or unless the state- + // ment is confusing without them. Remember that other people may confuse + // easier than you. Do YOU understand the following? + + a = b->c[0] + ~d == (e || f) || g && h ? i : j >> 1; + k = !(l & FLAGS); + + + // Exits should be 0 on success, or 1 on failure. + + exit(0); /* + * Avoid obvious comments such as + * "Exit 0 on success." + */ +} + + +static char * +function(a1, a2, fl, a4) +int a1, a2; /* Declare ints, too, don't default them. */ + +float fl; /* Beware double vs. float prototype differences. */ +int a4; /* List in order declared. */ +{ +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02486-doxy-comment.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02486-doxy-comment.c new file mode 100644 index 00000000..e2a6c2c4 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02486-doxy-comment.c @@ -0,0 +1,11 @@ + + + + + +int a; // a +int a; ///a +int a; ///<a +int a; // !a +int a; // !<a + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02487-doxy-comment.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02487-doxy-comment.c new file mode 100644 index 00000000..4abad3c8 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02487-doxy-comment.c @@ -0,0 +1,11 @@ + + + + + +int a; // a +int a; /// a +int a; ///< a +int a; //! a +int a; //!< a + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02501-custom_types_ssl.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02501-custom_types_ssl.c new file mode 100644 index 00000000..3e28d2e3 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02501-custom_types_ssl.c @@ -0,0 +1,133 @@ +#ifndef HEADER_CONF_H +#define HEADER_CONF_H + +#ifdef __cplusplus +extern "C" +#endif /* ifdef __cplusplus */ +{ + typedef struct + { + char *section; + char *name; + char *value; + } CONF_VALUE; + + DECLARE_STACK_OF(CONF_VALUE); + DECLARE_LHASH_OF(CONF_VALUE); + + struct conf_st; + struct conf_method_st; + typedef struct conf_method_st CONF_METHOD; + + int CONF_set_default_method(CONF_METHOD *meth); + void CONF_set_nconf(CONF *conf, LHASH_OF(CONF_VALUE) *hash); + LHASH_OF(CONF_VALUE) *CONF_load(LHASH_OF(CONF_VALUE) *conf, const char *file, + long *eline); +#ifndef OPENSSL_NO_FP_API + LHASH_OF(CONF_VALUE) *CONF_load_fp(LHASH_OF(CONF_VALUE) *conf, FILE *fp, + long *eline); +#endif /* ifndef OPENSSL_NO_FP_API */ + LHASH_OF(CONF_VALUE) *CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO *bp, long *eline); + STACK_OF(CONF_VALUE) *CONF_get_section(LHASH_OF(CONF_VALUE) *conf, + const char *section); + char *CONF_get_string(LHASH_OF(CONF_VALUE) *conf, const char *group, + const char *name); + long CONF_get_number(LHASH_OF(CONF_VALUE) *conf, const char *group, + const char *name); + void CONF_free(LHASH_OF(CONF_VALUE) *conf); + int CONF_dump_fp(LHASH_OF(CONF_VALUE) *conf, FILE *out); + int CONF_dump_bio(LHASH_OF(CONF_VALUE) *conf, BIO *out); +} + + +void CONF_set_nconf(CONF *conf, LHASH_OF(CONF_VALUE) *hash) +{ + if (default_CONF_method == NULL) + default_CONF_method = NCONF_default(); + + default_CONF_method->init(conf); + conf->data = hash; +} + +LHASH_OF(CONF_VALUE) *CONF_load(LHASH_OF(CONF_VALUE) *conf, const char *file, + long *eline) +{ + LHASH_OF(CONF_VALUE) *ltmp; + BIO *in = NULL; + +#ifdef OPENSSL_SYS_VMS + in = BIO_new_file(file, "r"); +#else /* ifdef OPENSSL_SYS_VMS */ + in = BIO_new_file(file, "rb"); +#endif /* ifdef OPENSSL_SYS_VMS */ + if (in == NULL) + { + CONFerr(CONF_F_CONF_LOAD, ERR_R_SYS_LIB); + return NULL; + } + + return ltmp; +} + +#ifndef OPENSSL_NO_FP_API +LHASH_OF(CONF_VALUE) *CONF_load_fp(LHASH_OF(CONF_VALUE) *conf, FILE *fp, + long *eline) +{ + BIO *btmp; + LHASH_OF(CONF_VALUE) *ltmp; + + if (!(btmp = BIO_new_fp(fp, BIO_NOCLOSE))) + { + CONFerr(CONF_F_CONF_LOAD_FP, ERR_R_BUF_LIB); + return NULL; + } + ltmp = CONF_load_bio(conf, btmp, eline); + BIO_free(btmp); + return ltmp; +} + +#endif /* ifndef OPENSSL_NO_FP_API */ + +LHASH_OF(CONF_VALUE) *CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO *bp, + long *eline) +{ + CONF ctmp; + int ret; + + CONF_set_nconf(&ctmp, conf); + + ret = NCONF_load_bio(&ctmp, bp, eline); + if (ret) + return ctmp.data; + + return NULL; +} + +STACK_OF(CONF_VALUE) *CONF_get_section(LHASH_OF(CONF_VALUE) *conf, + const char *section) +{ + if (conf == NULL) + { + return NULL; + } + else + { + CONF ctmp; + CONF_set_nconf(&ctmp, conf); + return NCONF_get_section(&ctmp, section); + } +} + +char *CONF_get_string(LHASH_OF(CONF_VALUE) *conf, const char *group, + const char *name) +{ + if (conf == NULL) + { + return NCONF_get_string(NULL, group, name); + } + else + { + return NCONF_get_string(&ctmp, group, name); + } +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02502-custom_types_ssl.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02502-custom_types_ssl.c new file mode 100644 index 00000000..0df5ddad --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02502-custom_types_ssl.c @@ -0,0 +1,133 @@ +#ifndef HEADER_CONF_H +#define HEADER_CONF_H + +#ifdef __cplusplus +extern "C" +#endif +{ + + typedef struct + { + char *section; + char *name; + char *value; + } CONF_VALUE; + + DECLARE_STACK_OF( CONF_VALUE ); + DECLARE_LHASH_OF( CONF_VALUE ); + + struct conf_st; + struct conf_method_st; + typedef struct conf_method_st CONF_METHOD; + + int CONF_set_default_method ( CONF_METHOD *meth ); + void CONF_set_nconf ( CONF *conf,LHASH_OF(CONF_VALUE) *hash ); + LHASH_OF(CONF_VALUE) *CONF_load ( LHASH_OF(CONF_VALUE) *conf,const char *file, + long *eline ); +#ifndef OPENSSL_NO_FP_API + LHASH_OF(CONF_VALUE) *CONF_load_fp ( LHASH_OF(CONF_VALUE) *conf, FILE *fp, + long *eline ); +#endif + LHASH_OF(CONF_VALUE) *CONF_load_bio ( LHASH_OF(CONF_VALUE) *conf, BIO *bp,long *eline ); + STACK_OF(CONF_VALUE) *CONF_get_section ( LHASH_OF(CONF_VALUE) *conf, + const char * section ); + char *CONF_get_string ( LHASH_OF(CONF_VALUE) *conf,const char *group, + const char *name ); + long CONF_get_number ( LHASH_OF(CONF_VALUE) *conf,const char *group, + const char *name ); + void CONF_free ( LHASH_OF(CONF_VALUE) *conf ); + int CONF_dump_fp ( LHASH_OF(CONF_VALUE) *conf, FILE *out ); + int CONF_dump_bio ( LHASH_OF(CONF_VALUE) *conf, BIO *out ); + + +} + + +void CONF_set_nconf ( CONF *conf, LHASH_OF(CONF_VALUE) *hash ) +{ + if (default_CONF_method == NULL) + default_CONF_method = NCONF_default(); + + default_CONF_method->init( conf ); + conf->data = hash; +} + + +LHASH_OF(CONF_VALUE) *CONF_load ( LHASH_OF(CONF_VALUE) *conf, const char *file, + long *eline ) +{ + LHASH_OF(CONF_VALUE) *ltmp; + BIO *in = NULL; + +#ifdef OPENSSL_SYS_VMS + in = BIO_new_file( file, "r" ); +#else + in = BIO_new_file( file, "rb" ); +#endif + if (in == NULL) + { + CONFerr( CONF_F_CONF_LOAD,ERR_R_SYS_LIB ); + return NULL; + } + + return ltmp; +} + +#ifndef OPENSSL_NO_FP_API +LHASH_OF(CONF_VALUE) *CONF_load_fp ( LHASH_OF(CONF_VALUE) *conf, FILE *fp, + long *eline ) +{ + BIO *btmp; + LHASH_OF(CONF_VALUE) *ltmp; + if(!(btmp = BIO_new_fp( fp, BIO_NOCLOSE ))) { + CONFerr( CONF_F_CONF_LOAD_FP,ERR_R_BUF_LIB ); + return NULL; + } + ltmp = CONF_load_bio( conf, btmp, eline ); + BIO_free( btmp ); + return ltmp; +} +#endif + +LHASH_OF(CONF_VALUE) *CONF_load_bio ( LHASH_OF(CONF_VALUE) *conf, BIO *bp, + long *eline ) +{ + CONF ctmp; + int ret; + + CONF_set_nconf( &ctmp, conf ); + + ret = NCONF_load_bio( &ctmp, bp, eline ); + if (ret) + return ctmp.data; + return NULL; +} + +STACK_OF(CONF_VALUE) *CONF_get_section ( LHASH_OF(CONF_VALUE) *conf, + const char * section ) +{ + if (conf == NULL) + { + return NULL; + } + else + { + CONF ctmp; + CONF_set_nconf( &ctmp, conf ); + return NCONF_get_section( &ctmp, section ); + } +} + +char *CONF_get_string ( LHASH_OF(CONF_VALUE) *conf,const char *group, + const char *name ) +{ + if (conf == NULL) + { + return NCONF_get_string( NULL, group, name ); + } + else + { + return NCONF_get_string( &ctmp, group, name ); + } +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02503-pp_concat_asn1.h b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02503-pp_concat_asn1.h new file mode 100644 index 00000000..babfa69d --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02503-pp_concat_asn1.h @@ -0,0 +1,298 @@ +#ifndef HEADER_ASN1_H +#define HEADER_ASN1_H + +#define V_ASN1_UNIVERSAL 0x00 +#define V_ASN1_APPLICATION 0x40 +#define V_ASN1_CONTEXT_SPECIFIC 0x80 +#define V_ASN1_PRIVATE 0xc0 + +#define V_ASN1_CONSTRUCTED 0x20 +#define V_ASN1_PRIMITIVE_TAG 0x1f +#define V_ASN1_PRIMATIVE_TAG 0x1f + +#define V_ASN1_APP_CHOOSE -2 /* let the recipient choose */ +#define V_ASN1_OTHER -3 /* used in ASN1_TYPE */ +#define V_ASN1_ANY -4 /* used in ASN1 template code */ + +#define V_ASN1_NEG 0x100 /* negative flag */ + +#define V_ASN1_UNDEF -1 +#define V_ASN1_EOC 0 +#define V_ASN1_BOOLEAN 1 /**/ +#define V_ASN1_INTEGER 2 +#define V_ASN1_NEG_INTEGER (2 | V_ASN1_NEG) +#define V_ASN1_BIT_STRING 3 +#define V_ASN1_OCTET_STRING 4 +#define V_ASN1_NULL 5 +#define V_ASN1_OBJECT 6 /* object identifier */ +#define V_ASN1_OBJECT_DESCRIPTOR 7 +#define V_ASN1_EXTERNAL 8 /* external / instance of */ +#define V_ASN1_REAL 9 +#define V_ASN1_ENUMERATED 10 +#define V_ASN1_NEG_ENUMERATED (10 | V_ASN1_NEG) +#define V_ASN1_EMBEDDED_PDV 11 +#define V_ASN1_UTF8STRING 12 +#define V_ASN1_SEQUENCE 16 +#define V_ASN1_SET 17 +#define V_ASN1_NUMERICSTRING 18 /**/ +#define V_ASN1_PRINTABLESTRING 19 +#define V_ASN1_T61STRING 20 +#define V_ASN1_TELETEXSTRING 20 /* alias */ +#define V_ASN1_VIDEOTEXSTRING 21 /**/ +#define V_ASN1_IA5STRING 22 +#define V_ASN1_UTCTIME 23 +#define V_ASN1_GENERALIZEDTIME 24 /**/ +#define V_ASN1_GRAPHICSTRING 25 /**/ +#define V_ASN1_ISO64STRING 26 /**/ +#define V_ASN1_VISIBLESTRING 26 /* alias */ +#define V_ASN1_GENERALSTRING 27 /**/ +#define V_ASN1_UNIVERSALSTRING 28 /**/ +#define V_ASN1_BMPSTRING 30 + +/* For use with d2i_ASN1_type_bytes() */ +#define B_ASN1_NUMERICSTRING 0x0001 +#define B_ASN1_PRINTABLESTRING 0x0002 +#define B_ASN1_T61STRING 0x0004 +#define B_ASN1_TELETEXSTRING 0x0004 +#define B_ASN1_VIDEOTEXSTRING 0x0008 +#define B_ASN1_IA5STRING 0x0010 +#define B_ASN1_GRAPHICSTRING 0x0020 +#define B_ASN1_ISO64STRING 0x0040 +#define B_ASN1_VISIBLESTRING 0x0040 +#define B_ASN1_GENERALSTRING 0x0080 +#define B_ASN1_UNIVERSALSTRING 0x0100 +#define B_ASN1_OCTET_STRING 0x0200 +#define B_ASN1_BIT_STRING 0x0400 +#define B_ASN1_BMPSTRING 0x0800 +#define B_ASN1_UNKNOWN 0x1000 +#define B_ASN1_UTF8STRING 0x2000 +#define B_ASN1_UTCTIME 0x4000 +#define B_ASN1_GENERALIZEDTIME 0x8000 +#define B_ASN1_SEQUENCE 0x10000 + +/* For use with ASN1_mbstring_copy() */ +#define MBSTRING_FLAG 0x1000 +#define MBSTRING_UTF8 (MBSTRING_FLAG) +#define MBSTRING_ASC (MBSTRING_FLAG | 1) +#define MBSTRING_BMP (MBSTRING_FLAG | 2) +#define MBSTRING_UNIV (MBSTRING_FLAG | 4) + +#define SMIME_OLDMIME 0x400 +#define SMIME_CRLFEOL 0x800 +#define SMIME_STREAM 0x1000 + +struct X509_algor_st; +DECLARE_STACK_OF(X509_ALGOR); + +#define DECLARE_ASN1_SET_OF(type) /* filled in by mkstack.pl */ +#define IMPLEMENT_ASN1_SET_OF(type) /* nothing, no longer needed */ + +/* We MUST make sure that, except for constness, asn1_ctx_st and + * asn1_const_ctx are exactly the same. Fortunately, as soon as + * the old ASN1 parsing macros are gone, we can throw this away + * as well... */ +typedef struct asn1_ctx_st +{ + unsigned char *p; /* work char pointer */ + int eos; /* end of sequence read for indefinite encoding */ + int error; /* error code to use when returning an error */ + int inf; /* constructed if 0x20, indefinite is 0x21 */ + int tag; /* tag from last 'get object' */ + int xclass; /* class from last 'get object' */ + size_t slen; /* length of last 'get object' */ + unsigned char * max; /* largest value of p allowed */ + unsigned char * q; /* temporary variable */ + unsigned char **pp; /* variable */ + int line; /* used in error processing */ +} ASN1_CTX; + +typedef struct asn1_const_ctx_st +{ + const unsigned char *p; /* work char pointer */ + int eos; /* end of sequence read for indefinite encoding */ + int error; /* error code to use when returning an error */ + int inf; /* constructed if 0x20, indefinite is 0x21 */ + int tag; /* tag from last 'get object' */ + int xclass; /* class from last 'get object' */ + size_t slen; /* length of last 'get object' */ + const unsigned char * max; /* largest value of p allowed */ + const unsigned char * q; /* temporary variable */ + const unsigned char **pp; /* variable */ + int line; /* used in error processing */ +} ASN1_const_CTX; + +/* These are used internally in the ASN1_OBJECT to keep track of + * whether the names and data need to be free()ed */ +#define ASN1_OBJECT_FLAG_DYNAMIC 0x01 /* internal use */ +#define ASN1_OBJECT_FLAG_CRITICAL 0x02 /* critical x509v3 object id */ +#define ASN1_OBJECT_FLAG_DYNAMIC_STRINGS 0x04 /* internal use */ +#define ASN1_OBJECT_FLAG_DYNAMIC_DATA 0x08 /* internal use */ +typedef struct asn1_object_st +{ + const char *sn, *ln; + int nid; + size_t length; + const unsigned char *data; /* data remains const after init */ + int flags; /* Should we free this one */ +} ASN1_OBJECT; + +#define ASN1_STRING_FLAG_BITS_LEFT 0x08 /* Set if 0x07 has bits left value */ +/* This indicates that the ASN1_STRING is not a real value but just a place + * holder for the location where indefinite length constructed data should + * be inserted in the memory buffer + */ +#define ASN1_STRING_FLAG_NDEF 0x010 + +/* This flag is used by the CMS code to indicate that a string is not + * complete and is a place holder for content when it had all been + * accessed. The flag will be reset when content has been written to it. + */ + +#define ASN1_STRING_FLAG_CONT 0x020 + +/* This is the base type that holds just about everything :-) */ +typedef struct asn1_string_st +{ + size_t length; + int type; + unsigned char *data; + + /* The value of the following field depends on the type being + * held. It is mostly being used for BIT_STRING so if the + * input data has a non-zero 'unused bits' value, it will be + * handled correctly */ + long flags; +} ASN1_STRING; + +/* ASN1_ENCODING structure: this is used to save the received + * encoding of an ASN1 type. This is useful to get round + * problems with invalid encodings which can break signatures. + */ + +typedef struct ASN1_ENCODING_st +{ + unsigned char *enc; /* DER encoding */ + size_t len; /* Length of encoding */ + int modified; /* set to 1 if 'enc' is invalid */ +} ASN1_ENCODING; + +/* Used with ASN1 LONG type: if a long is set to this it is omitted */ +#define ASN1_LONG_UNDEF 0x7fffffffL + +#define STABLE_FLAGS_MALLOC 0x01 +#define STABLE_NO_MASK 0x02 +#define DIRSTRING_TYPE \ + (B_ASN1_PRINTABLESTRING | B_ASN1_T61STRING | B_ASN1_BMPSTRING | B_ASN1_UTF8STRING) +#define PKCS9STRING_TYPE (DIRSTRING_TYPE | B_ASN1_IA5STRING) + +/* Declarations for template structures: for full definitions + * see asn1t.h + */ +typedef struct ASN1_TEMPLATE_st ASN1_TEMPLATE; +typedef struct ASN1_ITEM_st ASN1_ITEM; +typedef struct ASN1_TLC_st ASN1_TLC; +/* This is just an opaque pointer */ +typedef struct ASN1_VALUE_st ASN1_VALUE; + +/* Declare ASN1 functions: the implement macro in in asn1t.h */ + +#define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type) + +#define DECLARE_ASN1_ALLOC_FUNCTIONS(type) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, type) + +#define DECLARE_ASN1_FUNCTIONS_name(type, name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name); \ + DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) + +#define DECLARE_ASN1_FUNCTIONS_fname(type, itname, name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name); \ + DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) + +#define DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) \ + type *d2i_##name(type **a, const unsigned char **in, size_t len); \ + int i2d_##name(const type *a, unsigned char **out); \ + DECLARE_ASN1_ITEM(itname) + +#define DECLARE_ASN1_ENCODE_FUNCTIONS_const(type, name) \ + type *d2i_##name(type **a, const unsigned char **in, size_t len); \ + int i2d_##name(const type *a, unsigned char **out); \ + DECLARE_ASN1_ITEM(name) + +#define DECLARE_ASN1_NDEF_FUNCTION(name) \ + int i2d_##name##_NDEF(const name * a, unsigned char **out) + +#define DECLARE_ASN1_FUNCTIONS_const(name) \ + DECLARE_ASN1_ALLOC_FUNCTIONS(name); \ + DECLARE_ASN1_ENCODE_FUNCTIONS_const(name, name) + +#define DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ + type *name##_new(void); \ + void name##_free(type *a) + +#define DECLARE_ASN1_PRINT_FUNCTION(stname) \ + DECLARE_ASN1_PRINT_FUNCTION_fname(stname, stname) + +#define DECLARE_ASN1_PRINT_FUNCTION_fname(stname, fname) \ + int fname##_print_ctx(BIO *out, const stname *x, int indent, \ + const ASN1_PCTX * pctx) + + +/* + * WARNING WARNING WARNING + * + * uncrustify still introduces whitespace in here at some spots, but then + * one might ask how crazy we want to go regarding ## encumbered parsing? + * There's always the copout of INDENT-OFF markers for files like these, + * once you've got them 95% right through uncrustify and that extra 5% + * by hand ;-) + */ +#define TYPEDEF_D2I_OF(type) typedef type *d2i_of_##type (type **, const unsigned char **, size_t) +#define TYPEDEF_I2D_OF(type) typedef int i2d_of_##type (type *, unsigned char **) +#define TYPEDEF_I2D_OF_CONST(type) typedef int i2d_of_const_##type (const type *, unsigned char **) /* [i_a] */ +#define TYPEDEF_D2I2D_OF(type) TYPEDEF_D2I_OF(type); TYPEDEF_I2D_OF(type); TYPEDEF_I2D_OF_CONST(type) /* [i_a] */ + + +/* Macro to include ASN1_ITEM pointer from base type */ +#define ASN1_ITEM_ref(iptr) (&(iptr##_it)) + +#define ASN1_ITEM_rptr(ref) (&(ref##_it)) + +#define DECLARE_ASN1_ITEM(name) \ + extern const ASN1_ITEM name##_it; + + +#define ASN1_STRFLGS_RFC2253 \ + (ASN1_STRFLGS_ESC_2253 | \ + ASN1_STRFLGS_ESC_CTRL | \ + ASN1_STRFLGS_ESC_MSB | \ + ASN1_STRFLGS_UTF8_CONVERT | \ + ASN1_STRFLGS_DUMP_UNKNOWN | \ + ASN1_STRFLGS_DUMP_DER) + +DECLARE_STACK_OF(ASN1_INTEGER); +DECLARE_ASN1_SET_OF(ASN1_INTEGER); + +DECLARE_STACK_OF(ASN1_GENERALSTRING); + +typedef STACK_OF(ASN1_TYPE) ASN1_SEQUENCE_ANY; + +DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY); +DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SET_ANY); + + +#define B_ASN1_DIRECTORYSTRING \ + B_ASN1_PRINTABLESTRING | \ + B_ASN1_TELETEXSTRING | \ + B_ASN1_BMPSTRING | \ + B_ASN1_UNIVERSALSTRING | \ + B_ASN1_UTF8STRING + +#define B_ASN1_DISPLAYTEXT \ + B_ASN1_IA5STRING | \ + B_ASN1_VISIBLESTRING | \ + B_ASN1_BMPSTRING | \ + B_ASN1_UTF8STRING + +#endif // ifndef HEADER_ASN1_H + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02504-align_keep_extra.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02504-align_keep_extra.c new file mode 100644 index 00000000..985f428c --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02504-align_keep_extra.c @@ -0,0 +1,5 @@ +void f() +{ + int x = 3; + int b = 4; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02510-asm.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02510-asm.c new file mode 100644 index 00000000..6609bf9b --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/02510-asm.c @@ -0,0 +1,9 @@ +void foo(void) +{ + asm __volatile__ ( + "subl %2,%0\n\t" + "sbbl %3,%1" + : "=a" (l), "=d" (h) + : "g" (sl), "g" (sh), + "0" (l), "1" (h)); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/07630-indent-vbrace.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/07630-indent-vbrace.c new file mode 100644 index 00000000..a1344348 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/07630-indent-vbrace.c @@ -0,0 +1,7 @@ + +void x( void ) +{ + if ( a>b ) + b = a; +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/08399-gh399.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/08399-gh399.c new file mode 100644 index 00000000..780234ab --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/08399-gh399.c @@ -0,0 +1,8 @@ + + +void foo() +{ + for (i = 0; i * i < n; i++) + { + } +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09588-sf588.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09588-sf588.c new file mode 100644 index 00000000..d1c5f1cc --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09588-sf588.c @@ -0,0 +1,2 @@ +#define APPEND_TO_STREAM(VAR0) << #VAR0 +#define APPEND_TO_STREAM(VAR0, VAR1) << #VAR0 << ", " << #VAR1 diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09594-sf594.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09594-sf594.c new file mode 100644 index 00000000..94a1973c --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09594-sf594.c @@ -0,0 +1,6 @@ +void foo() +{ + if (x < d >> 1) + { + } +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09601-sp_after_sparen.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09601-sp_after_sparen.c new file mode 100644 index 00000000..93cbfea2 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09601-sp_after_sparen.c @@ -0,0 +1,16 @@ +// test for bug # 637 +void foo(void) +{ + while (1) ; + while (1) ; + while (1) ; + while (1) ; + while (1) ; + if (n) { + while (1) ; + while (1) ; + while (1) ; + while (1) ; + while (1) ; + } +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09602-bug_671.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09602-bug_671.c new file mode 100644 index 00000000..a9d54ee8 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09602-bug_671.c @@ -0,0 +1,16 @@ +#define FOO_MAX 10 + +bool foo[ FOO_MAX ]; + +void +foo_bar( int a, + int* b, + bool foo[ FOO_MAX ] ); + +void +A() +{ + int a; + int* b; + foo_bar( a, b, foo ); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09603-indent_ternary-1.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09603-indent_ternary-1.c new file mode 100644 index 00000000..f9200886 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09603-indent_ternary-1.c @@ -0,0 +1,34 @@ +void foo(void) +{ + int a = x ? y : + z, + b = x ? (y) : + (z), + c = x ? *y : + *z, + d = x ? &y : + &z; + + + if (x ? y : + z) + { + baz; + } + if (x ? (y) : + (z)) + { + baz; + } + if (x ? *y : + *z) + { + baz; + } + if (x ? &y : + &z) + { + baz; + } +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09604-indent_ternary-2.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09604-indent_ternary-2.c new file mode 100644 index 00000000..e6d3576c --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09604-indent_ternary-2.c @@ -0,0 +1,34 @@ +void foo(void) +{ + int a = x ? y + : z, + b = x ? (y) + : (z), + c = x ? *y + : *z, + d = x ? &y + : &z; + + + if (x ? y + : z) + { + baz; + } + if (x ? (y) + : (z)) + { + baz; + } + if (x ? *y + : *z) + { + baz; + } + if (x ? &y + : &z) + { + baz; + } +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09605-negative_value.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09605-negative_value.c new file mode 100644 index 00000000..6399fbef --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09605-negative_value.c @@ -0,0 +1,10 @@ +#include <stdio.h> + +int main(void) { + int i = -1; + int j = 30 * -1; + + int frames = 127; + frames = ((frames + 15) & -16); + return 0; +}
\ No newline at end of file diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09606-extern.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09606-extern.c new file mode 100644 index 00000000..d43131fe --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09606-extern.c @@ -0,0 +1,4 @@ +extern "C" int *i; +extern "C" { int *i; } +extern "C" FooString *i; +extern "C" { FooString *i; }
\ No newline at end of file diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09607-attribute.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09607-attribute.c new file mode 100644 index 00000000..19e3a057 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09607-attribute.c @@ -0,0 +1,4 @@ +__attribute__((visibility("default"))) int *i; +__attribute__((visibility("default"))) FooString *i; + +#define DEFINE_NOTIFICATION(name) extern "C" __attribute__((visibility ("default"))) FooString *const name = #name; diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09608-func_call_user2.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09608-func_call_user2.c new file mode 100644 index 00000000..ee4e24d4 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09608-func_call_user2.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +#define CMD_CHECK(expr) do { { expr; } CMDAssert(); } while (0) +#define INTERNAL(expr) do { internalUse = 1; { expr; } internalUse = 0; } while (0) + +int func(n) { + CMD_CHECK( fflush(stdout); ); + CMD_CHECK( fflush(stdout) ); + CMD_CHECK( fflush(stdout) ); + CMD_CHECK( fflush(stdout) ); + CMD_CHECK( fflush(stdout) ); + CMD_CHECK( fflush(stdout); ); + CMD_CHECK( fflush(stdout); ); + CMD_CHECK( INTERNAL( fflush(stdout) ) ); + CMD_CHECK( INTERNAL( fflush(stdout) ); ); +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09609-Issue_2279.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09609-Issue_2279.c new file mode 100644 index 00000000..88c0ae84 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09609-Issue_2279.c @@ -0,0 +1,9 @@ +/*| AG_DECLARE() |*/ +/* *INDENT-OFF* */ +static int x; +/* *INDENT-ON* */ +/*| END |*/ + +static FILE *ramfp = NULL; +static FILE *dbgfp = NULL; +static xxxXXXXX *pLockXXX = NULL; diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09610-bug_i_876.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09610-bug_i_876.c new file mode 100644 index 00000000..e1afece6 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09610-bug_i_876.c @@ -0,0 +1 @@ +#define A 1 diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09611-bug_i_222.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09611-bug_i_222.c new file mode 100644 index 00000000..4f0ded31 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09611-bug_i_222.c @@ -0,0 +1,6 @@ +whatever *find_node_for_address(whatever2 *foo, + thingy *bar, + whatever3 *(func_ptr)( + whatever4 *foo2, + thingy2 *bar2)); +//3456789=123456789=123456789=123456789=123456789=12 diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09612-bug_1041.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09612-bug_1041.c new file mode 100644 index 00000000..7c07615b --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09612-bug_1041.c @@ -0,0 +1,6 @@ +void (*g_func_table[32])(void) = { + [0 ... 31] = func_dummy, + [0] = func_0, + [1] = func_1, + [2] = func_2, +}; diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09613-i1413.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09613-i1413.c new file mode 100644 index 00000000..4287ca86 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09613-i1413.c @@ -0,0 +1 @@ +#
\ No newline at end of file diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09614-string_prefixes.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09614-string_prefixes.c new file mode 100644 index 00000000..e901c9ac --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09614-string_prefixes.c @@ -0,0 +1,23 @@ +void foo() +{ + BSTR test = L"SID"; + CHAR s[] = "This is a \"test\""; + CHAR ch = 'a'; +} + +/* The 'u8', 'u', and 'U' prefixes */ +const char *s1 = u8"I'm a UTF-8 string."; +const char16_t *s2 = u"This is a UTF-16 string."; +const char32_t *s3 = U"This is a UTF-32 string."; + +const char c1 = u8'1'; +const char16_t c2 = u'2'; +const char32_t c3 = U'4'; +const wchar_t c4 = L'w'; +const char16_t u = u'\u007f'; + +OutputType some_variable = "1234"_Suffix; //Calls the const char * version +OutputType some_variable = u8"1234"_Suffix; //Calls the const char * version +OutputType some_variable = L"1234"_Suffix; //Calls the const wchar_t * version +OutputType some_variable = u"1234"_Suffix; //Calls the const char16_t * version +OutputType some_variable = U"1234"_Suffix; //Calls the const char32_t * version
\ No newline at end of file diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09615-i1564.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09615-i1564.c new file mode 100644 index 00000000..2b37b25c --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09615-i1564.c @@ -0,0 +1,13 @@ +void f(){ + return f(p0 + ,p1); +} + +typedef enum +{ + xxx = 0x00, /* comment */ + yyy = 0x01, /* comment */ + zzz = 0x02, /* comment */ + ttt = 0x03, /* comment */ + rrr = 0x04 /* comment */ +}some_label;
\ No newline at end of file diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09616-enum_comma_ifdef.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09616-enum_comma_ifdef.c new file mode 100644 index 00000000..95637aae --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09616-enum_comma_ifdef.c @@ -0,0 +1,7 @@ +enum A { + a, + b, +#ifdef __clang__ + c, +#endif +}; diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09617-Issue_2360.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09617-Issue_2360.c new file mode 100644 index 00000000..0489b0f9 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09617-Issue_2360.c @@ -0,0 +1,44 @@ +int short_function(); +int some_very_very_very_very_very_very_very_very_long_function(); +int main() { + // short condition, no existing newlines + if (short_function()) {} + + // short condition, existing newlines + if ( + short_function() + ) {} + + // long condition, no newlines + if ( + some_very_very_very_very_very_very_very_very_long_function() && + some_very_very_very_very_very_very_very_very_long_function() + ) {} + + // long condition, newlines + else if ( + some_very_very_very_very_very_very_very_very_long_function() && + some_very_very_very_very_very_very_very_very_long_function() + ) {} + + // switch condition + switch ( + some_very_very_very_very_very_very_very_very_long_function() && + some_very_very_very_very_very_very_very_very_long_function() + ) { + case default: break; + } + + // while condition, line comments + while ( + // comment 1 + short_function() + // comment 2 + ) {} + + // for condition, inline comments + for ( + /* a */ int i=0; some_very_very_very_very_very_very_very_very_long_function() + && some_very_very_very_very_very_very_very_very_long_function() && i < 10; i++ // trailing comment + ) {} +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09618-Issue_2360.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09618-Issue_2360.c new file mode 100644 index 00000000..898c64e6 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09618-Issue_2360.c @@ -0,0 +1,38 @@ +int short_function(); +int some_very_very_very_very_very_very_very_very_long_function(); +int main() { + // short condition, no existing newlines + if (short_function() + ) {} + + // short condition, existing newlines + if ( + short_function() + ) {} + + // long condition, no newlines + if (some_very_very_very_very_very_very_very_very_long_function() && + some_very_very_very_very_very_very_very_very_long_function()) {} + + // long condition, newlines + else if (some_very_very_very_very_very_very_very_very_long_function() && + some_very_very_very_very_very_very_very_very_long_function()) {} + + // switch condition + switch (some_very_very_very_very_very_very_very_very_long_function() && + some_very_very_very_very_very_very_very_very_long_function()) { + case default: break; + } + + // while condition, line comments + while ( + // comment 1 + short_function() + // comment 2 + ) {} + + // for condition, inline comments + for ( /* a */ int i=0; some_very_very_very_very_very_very_very_very_long_function() + && some_very_very_very_very_very_very_very_very_long_function() && i < 10; i++ // trailing comment + ) {} +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09619-Issue_2411.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09619-Issue_2411.c new file mode 100644 index 00000000..40244488 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09619-Issue_2411.c @@ -0,0 +1,5 @@ +void foo() { + /* + hello world + */ +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09620-Issue_2640.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09620-Issue_2640.c new file mode 100644 index 00000000..ba25bcbe --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09620-Issue_2640.c @@ -0,0 +1,12 @@ +struct Struct +{ + void test1(int* x) + { + *x = 1; + } +}; + +void test2(int* x) +{ + *x = 1; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09621-pp-before-func-def.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09621-pp-before-func-def.c new file mode 100644 index 00000000..948ce135 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/09621-pp-before-func-def.c @@ -0,0 +1,3 @@ + +#define m_new(type, num) ((type *)(m_malloc(sizeof(type) * (num)))) +void *m_malloc(size_t num_bytes); diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10003-bug_i_222.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10003-bug_i_222.c new file mode 100644 index 00000000..4f0ded31 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10003-bug_i_222.c @@ -0,0 +1,6 @@ +whatever *find_node_for_address(whatever2 *foo, + thingy *bar, + whatever3 *(func_ptr)( + whatever4 *foo2, + thingy2 *bar2)); +//3456789=123456789=123456789=123456789=123456789=12 diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10004-pragma_asm.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10004-pragma_asm.c new file mode 100644 index 00000000..0e6b48d6 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10004-pragma_asm.c @@ -0,0 +1,105 @@ +#include <stdio.h> + +int main(int argc, char *argv[]) +{ + int a = 1; + int very_long = 2; + + printf("Hello, World!\n"); + printf("a is %d and very_long is %d\n", a, very_long); + return(0); +} + +#pragma asm + XREF _my_var + + PUSH #LOW(my_func) + PUSH #HIGH(my_func) + +#pragma dummyendasm + + PUSH _my_var+2 + PUSH _my_var+1 + PUSH _my_var+0 + RETF + App_CallEnd: +#pragma endasm + +int main2(int argc, char *argv[]) +{ + int a = 1; + int very_long = 2; + + printf("Hello, World!\n"); + printf("a is %d and very_long is %d\n", a, very_long); + return(0); +} + +#pragma asm + XREF _my_var + + PUSH #LOW(my_func) + PUSH #HIGH(my_func) + +#pragma dummyendasm + + PUSH _my_var+2 + PUSH _my_var+1 + PUSH _my_var+0 + RETF + App_CallEnd: +#pragma endasm + +int main3(int argc, char *argv[]) +{ + int a = 1; + int very_long = 2; + + printf("Hello, World!\n"); + printf("a is %d and very_long is %d\n", a, very_long); + return(0); +} + +#pragma asm + XREF _my_var + + PUSH #LOW(my_func) + PUSH #HIGH(my_func) + +#pragma dummyendasm + + PUSH _my_var+2 + PUSH _my_var+1 + PUSH _my_var+0 + RETF + App_CallEnd: +#pragma endasm + +int main3(int argc, char *argv[]) +{ + int a = 1; + int very_long = 2; + + printf("Hello, World!\n"); + printf("a is %d and very_long is %d\n", a, very_long); + return(0); +} + +#asm + sll a ; 3 + jrc sub_1f ; 3 subtract $1f if A.x has a degree 8 + ret +sub_1f: + xor a,#$1f ; 2 +#endasm + +int main3(int argc, char *argv[]) +{ + int a = 1; + int very_long = 2; + + printf("Hello, World!\n"); + printf("a is %d and very_long is %d\n", a, very_long); + return(0); +} + diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10005-i1270.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10005-i1270.c new file mode 100644 index 00000000..4831a47a --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10005-i1270.c @@ -0,0 +1,3 @@ +#ifdef asm +#endif +/* comment should stay */
\ No newline at end of file diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10006-bug_2331.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10006-bug_2331.c new file mode 100644 index 00000000..67088d94 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10006-bug_2331.c @@ -0,0 +1,11 @@ +#define SET_STACK(stack) \ + do { \ + __asm__ __volatile__ ( \ + "mov S, %[oper]" \ + : \ + : [oper] "r" (stack) \ + : "S" \ + ); \ + } while (0) + +int somearray[10]; diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10007-indent-macro-brace.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10007-indent-macro-brace.c new file mode 100644 index 00000000..192a399f --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10007-indent-macro-brace.c @@ -0,0 +1,8 @@ +#define X do { \ + a; \ + b; \ +} while (0) + +#define X \ + y; \ + z diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10008-indent-macro-brace.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10008-indent-macro-brace.c new file mode 100644 index 00000000..a54cd504 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10008-indent-macro-brace.c @@ -0,0 +1,8 @@ +#define X do { \ + a; \ + b; \ +} while (0) + +#define X \ + y; \ + z diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10009-return-compound-literal.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10009-return-compound-literal.c new file mode 100644 index 00000000..fad9a3f2 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10009-return-compound-literal.c @@ -0,0 +1,5 @@ +struct f z(void) { + return (struct f){ + .z = 1, + }; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10010-return-compound-literal.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10010-return-compound-literal.c new file mode 100644 index 00000000..da33e2fd --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10010-return-compound-literal.c @@ -0,0 +1,5 @@ +struct f z(void) { + return (struct f){ + .z = 1, + }; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10011-return-compound-literal.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10011-return-compound-literal.c new file mode 100644 index 00000000..fad9a3f2 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10011-return-compound-literal.c @@ -0,0 +1,5 @@ +struct f z(void) { + return (struct f){ + .z = 1, + }; +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10012-sparen-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10012-sparen-indent.c new file mode 100644 index 00000000..d9ddbe06 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10012-sparen-indent.c @@ -0,0 +1,19 @@ +void f(void) { + + if (a + && b) { + h(); + } + + for (a = b; + c; + d++) { + h(); + } + + while (z + && w) { + h(); + } + +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10013-sparen-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10013-sparen-indent.c new file mode 100644 index 00000000..b09a3102 --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10013-sparen-indent.c @@ -0,0 +1,19 @@ +void f(void) { + + if (a + && b) { + h(); + } + + for (a = b; + c; + d++) { + h(); + } + + while (z + && w) { + h(); + } + +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10014-sparen-indent.c b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10014-sparen-indent.c new file mode 100644 index 00000000..bf0ba8cf --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10014-sparen-indent.c @@ -0,0 +1,19 @@ +void f(void) { + + if (a + && b) { + h(); + } + + for (a = b; + c; + d++) { + h(); + } + + while (z + && w) { + h(); + } + +} diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10015-Issue_2845.h b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10015-Issue_2845.h new file mode 100644 index 00000000..9f34b1dc --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.72.0/tests/expected/c/10015-Issue_2845.h @@ -0,0 +1,3 @@ +#ifndef __PACKED_STRUCT + #define __PACKED_STRUCT __packed struct +#endif |