
libs.c: (in function compare2)
libs.c:14:10: Observer storage returned without qualification: "ok"
   libs.c:14:10: Storage becomes observer
libs.c: (in function leave)
libs.c:20:9: Function exit expects arg 1 to be int gets char *: "hullo"
libs.c:21:3: Unreachable code: exit(i)
libs.c: (in function print)
libs.c:29:3: Format string parameter to fprintf is not a compile-time constant:
                s
libs.c:30:3: Format string parameter to printf is not a compile-time constant:
                s
libs.c:31:3: Format string parameter to fprintf is not a compile-time constant:
                s
libs.c:33:3: Assignment of int to char: c = fgetc(f)
libs.c:34:3: Assignment of int to char: c = getc(f)
libs.c: (in function main)
libs.c:46:44: Function bsearch expects arg 4 to be size_t gets [function (int,
                 int) returns int]: compare
libs.c:46:10: Function bsearch called with 4 args, expects 5
libs.c:48:50: Function bsearch expects arg 5 to be [function (void *, void *)
    returns int] * gets [function () returns char] *:
    ([function () returns char] *)compare2
libs.c:48:3: Return value (type void *) ignored: bsearch(NULL, NU...
libs.c:52:10: Function qsort expects arg 1 to be void * gets unsigned int: x
libs.c:52:19: Function qsort expects arg 4 to be [function (void *, void *)
    returns int] * gets [function () returns char] *:
    ([function () returns char] *)compare2
libs.c:54:11: Unrecognized identifier: SIGHUP
libs.c:54:19: Function signal expects arg 2 to be [function (int) returns void]
                 * gets [function (int, int) returns int]: compare
libs.c:54:3: Return value (type [function (int) returns void]) ignored:
                signal(SIGHUP, c...
libs.c:55:3: Return value (type [function (int) returns void]) ignored:
                signal(SIGHUP, l...

Finished checking --- 18 code warnings, as expected

libs.c: (in function compare2)
libs.c:14:10: Observer storage returned without qualification: "ok"
   libs.c:14:10: Storage becomes observer
libs.c: (in function leave)
libs.c:20:9: Function exit expects arg 1 to be int gets char *: "hullo"
libs.c:21:3: Unreachable code: exit(i)
libs.c: (in function print)
libs.c:29:3: Format string parameter to fprintf is not a compile-time constant:
                s
libs.c:30:3: Format string parameter to printf is not a compile-time constant:
                s
libs.c:31:3: Format string parameter to fprintf is not a compile-time constant:
                s
libs.c:33:3: Assignment of int to char: c = fgetc(f)
libs.c:34:3: Assignment of int to char: c = getc(f)
libs.c: (in function main)
libs.c:46:44: Function bsearch expects arg 4 to be size_t gets [function (int,
                 int) returns int]: compare
libs.c:46:10: Function bsearch called with 4 args, expects 5
libs.c:48:50: Function bsearch expects arg 5 to be [function (void *, void *)
    returns int] * gets [function () returns char] *:
    ([function () returns char] *)compare2
libs.c:48:3: Return value (type void *) ignored: bsearch(NULL, NU...
libs.c:51:16: Function qsort expects arg 2 to be size_t gets unsigned int: x
libs.c:51:19: Function qsort expects arg 3 to be size_t gets unsigned int: x
libs.c:52:10: Function qsort expects arg 1 to be void * gets unsigned int: x
libs.c:52:13: Function qsort expects arg 2 to be size_t gets unsigned int: x
libs.c:52:16: Function qsort expects arg 3 to be size_t gets unsigned int: x
libs.c:52:19: Function qsort expects arg 4 to be [function (void *, void *)
    returns int] * gets [function () returns char] *:
    ([function () returns char] *)compare2
libs.c:54:11: Unrecognized identifier: SIGHUP
libs.c:54:19: Function signal expects arg 2 to be [function (int) returns void]
                 * gets [function (int, int) returns int]: compare
libs.c:54:3: Return value (type [function (int) returns void]) ignored:
                signal(SIGHUP, c...
libs.c:55:3: Return value (type [function (int) returns void]) ignored:
                signal(SIGHUP, l...

Finished checking --- 22 code warnings, as expected

libs.c: (in function compare2)
libs.c:14:10: Observer storage returned without qualification: "ok"
   libs.c:14:10: Storage becomes observer
libs.c: (in function leave)
libs.c:20:9: Function exit expects arg 1 to be int gets char *: "hullo"
libs.c:21:3: Unreachable code: exit(i)
libs.c: (in function print)
libs.c:29:3: Format string parameter to fprintf is not a compile-time constant:
                s
libs.c:29:3: Undocumented modification of *f possible from call to fprintf:
                fprintf(f, s)
libs.c:30:3: Format string parameter to printf is not a compile-time constant:
                s
libs.c:31:3: Format string parameter to fprintf is not a compile-time constant:
                s
libs.c:33:7: Undocumented modification of *f possible from call to fgetc:
                fgetc(f)
libs.c:33:3: Assignment of int to char: c = fgetc(f)
libs.c:34:7: Undocumented modification of *f possible from call to getc:
                getc(f)
libs.c:34:3: Assignment of int to char: c = getc(f)
libs.c: (in function main)
libs.c:46:44: Function bsearch expects arg 4 to be size_t gets [function (int,
                 int) returns int]: compare
libs.c:46:10: Function bsearch called with 4 args, expects 5
libs.c:48:50: Function bsearch expects arg 5 to be [function (void *, void *)
    returns int] * gets [function () returns char] *:
    ([function () returns char] *)compare2
libs.c:48:3: Return value (type void *) ignored: bsearch(NULL, NU...
libs.c:51:16: Function qsort expects arg 2 to be size_t gets unsigned int: x
libs.c:51:19: Function qsort expects arg 3 to be size_t gets unsigned int: x
libs.c:52:10: Function qsort expects arg 1 to be void * gets unsigned int: x
libs.c:52:13: Function qsort expects arg 2 to be size_t gets unsigned int: x
libs.c:52:16: Function qsort expects arg 3 to be size_t gets unsigned int: x
libs.c:52:19: Function qsort expects arg 4 to be [function (void *, void *)
    returns int] * gets [function () returns char] *:
    ([function () returns char] *)compare2
libs.c:54:11: Unrecognized identifier: SIGHUP
libs.c:54:19: Function signal expects arg 2 to be [function (int) returns void]
                 * gets [function (int, int) returns int]: compare
libs.c:54:3: Return value (type [function (int) returns void]) ignored:
                signal(SIGHUP, c...
libs.c:55:3: Return value (type [function (int) returns void]) ignored:
                signal(SIGHUP, l...

Finished checking --- 25 code warnings, as expected

libs.c: (in function compare2)
libs.c:14:10: Observer storage returned without qualification: "ok"
   libs.c:14:10: Storage becomes observer
libs.c: (in function leave)
libs.c:20:9: Function exit expects arg 1 to be int gets char *: "hullo"
libs.c:21:3: Unreachable code: exit(i)
libs.c: (in function print)
libs.c:29:3: Format string parameter to fprintf is not a compile-time constant:
                s
libs.c:29:3: Undocumented modification of *f possible from call to fprintf:
                fprintf(f, s)
libs.c:29:3: Return value (type int) ignored: fprintf(f, s)
libs.c:30:3: Format string parameter to printf is not a compile-time constant:
                s
libs.c:30:3: Called procedure printf may access global stdout
libs.c:30:3: Undocumented modification of *stdout possible from call to printf:
                printf(s)
libs.c:30:3: Return value (type int) ignored: printf(s)
libs.c:31:12: Undocumented use of global stderr
libs.c:31:3: Format string parameter to fprintf is not a compile-time constant:
                s
libs.c:31:3: Undocumented modification of *stderr possible from call to
                fprintf: fprintf(stderr, s)
libs.c:31:3: Return value (type int) ignored: fprintf(stderr, s)
libs.c:33:7: Called procedure fgetc may access global errno
libs.c:33:7: Undocumented modification of *f possible from call to fgetc:
                fgetc(f)
libs.c:33:7: Undocumented modification of errno possible from call to fgetc:
                fgetc(f)
libs.c:33:3: Assignment of int to char: c = fgetc(f)
libs.c:34:7: Called procedure getc may access global errno
libs.c:34:7: Undocumented modification of *f possible from call to getc:
                getc(f)
libs.c:34:7: Undocumented modification of errno possible from call to getc:
                getc(f)
libs.c:34:3: Assignment of int to char: c = getc(f)
libs.c: (in function main)
libs.c:46:44: Function bsearch expects arg 4 to be size_t gets [function (int,
                 int) returns int]: compare
libs.c:46:10: Function bsearch called with 4 args, expects 5
libs.c:48:50: Function bsearch expects arg 5 to be [function (void *, void *)
    returns int] * gets [function () returns char] *:
    ([function () returns char] *)compare2
libs.c:48:3: Return value (type void *) ignored: bsearch(NULL, NU...
libs.c:51:16: Function qsort expects arg 2 to be size_t gets unsigned int: x
libs.c:51:19: Function qsort expects arg 3 to be size_t gets unsigned int: x
libs.c:51:3: Called procedure qsort may access global errno
libs.c:51:3: Undocumented modification of errno possible from call to qsort:
                qsort(NULL, x, x, ([function () returns int] *)compare)
libs.c:52:10: Function qsort expects arg 1 to be void * gets unsigned int: x
libs.c:52:13: Function qsort expects arg 2 to be size_t gets unsigned int: x
libs.c:52:16: Function qsort expects arg 3 to be size_t gets unsigned int: x
libs.c:52:19: Function qsort expects arg 4 to be [function (void *, void *)
    returns int] * gets [function () returns char] *:
    ([function () returns char] *)compare2
libs.c:52:3: Called procedure qsort may access global errno
libs.c:52:3: Undocumented modification of errno possible from call to qsort:
                qsort(x, x, x, ([function () returns char] *)compare2)
libs.c:54:11: Unrecognized identifier: SIGHUP
libs.c:54:19: Function signal expects arg 2 to be [function (int) returns void]
                 * gets [function (int, int) returns int]: compare
libs.c:54:3: Called procedure signal may access global errno
libs.c:54:3: Undocumented modification of errno possible from call to signal:
                signal(SIGHUP, compare)
libs.c:54:3: Return value (type [function (int) returns void]) ignored:
                signal(SIGHUP, c...
libs.c:55:3: Called procedure signal may access global errno
libs.c:55:3: Undocumented modification of errno possible from call to signal:
                signal(SIGHUP, leave)
libs.c:55:3: Return value (type [function (int) returns void]) ignored:
                signal(SIGHUP, l...

Finished checking --- 44 code warnings, as expected
