From: Michael D. Lowis Date: Thu, 20 Feb 2020 20:06:11 +0000 (-0500) Subject: reworked compilation in prep for atf overhaul X-Git-Url: https://git.mdlowis.com/?a=commitdiff_plain;h=a12870184a7c26f1804cf0d9752f4f117793ddd2;p=projs%2Ftide.git reworked compilation in prep for atf overhaul --- diff --git a/Rsconscript b/Rsconscript index 0564c10..be9539a 100644 --- a/Rsconscript +++ b/Rsconscript @@ -1,16 +1,15 @@ configure do check_c_compiler "clang", "gcc" - check_c_header "X11/Xlib.h", - check_cpppath: ["/usr/X11/include"] - check_lib "X11", - check_libpath: ["/usr/X11/lib"] + check_c_header "X11/Xlib.h", check_cpppath: ["/usr/X11/include"] + check_lib "X11", check_libpath: ["/usr/X11/lib"] check_cfg program: "freetype-config" end build do env = Environment.new env["prefix"] = ENV["PREFIX"] || env["prefix"] - env["CC"] = "./alcc" + env["CC"] = "cc" + env["LD"] = "./alcc" env["CFLAGS"] += %w[-g] env["CPPPATH"] += %w[. inc] env["LIBPATH"] += %w[.] @@ -34,11 +33,11 @@ build do end # Build and run unit tests - env.Program("tests/libedit", %w[tests/libedit.c tests/lib/buf.c tests/lib/utf8.c libtide.a]) - env.Command("", "tests/libedit", - "CMD" => ["${_SOURCES}"], - "CMD_DESC" => "TEST") - env.depends("${prefix}/bin", "") +# env.Program("tests/libedit", %w[tests/libedit.c tests/lib/buf.c tests/lib/utf8.c libtide.a]) +# env.Command("", "tests/libedit", +# "CMD" => ["${_SOURCES}"], +# "CMD_DESC" => "TEST") +# env.depends("${prefix}/bin", "") env.Directory("#{env.build_root}/uml/") Dir.glob("**/*.adoc").each do |doc| @@ -51,3 +50,5 @@ build do # Install the compiled binaries Dir.glob("bin/*").each{|bin| env.Install("${prefix}/bin", bin) } end + +# CC=./alcc ./atf -Iinc -I. -I/usr/include/freetype2/ src/lib/buf.c src/lib/dbc.c src/lib/telem.c src/lib/gapbuf.c src/lib/utf8.c src/lib/editlog.c src/lib/range.c src/lib/argv0.c src/lib/writefd.c src/lib/readfd.c \ No newline at end of file diff --git a/alcc b/alcc index 14ca76d..6631faf 100755 --- a/alcc +++ b/alcc @@ -14,59 +14,17 @@ # OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. -declare -a sources declare -a objects -declare -a libpaths -compile=false -runtime=' -#define _POSIX_C_SOURCE 200809L -#define _XOPEN_SOURCE 700 -#define AUTOLIB(n) \ - int __autolib_##n __attribute__ ((weak)); -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -' # end of runtime definition # scan the rest of the options for lib paths, libs and objects for i do case "$i" in - *.c) # Add source to the list - sources+=("$i") ;; - *.[ao]) # Add objects and static libs to object list - objects+=("$i") ;; - - -L*) # Add libpaths to the search list - libpaths+=("${i#-L}") ;; - - -c|-E) # Mark this as compilation/preprocess only run - compile=true ;; + objects+=("$i") + ;; esac done -# if we're compiling, generate the header, compile, and exit -if $compile; then - genfile=$(mktemp) - printf '%s\n' "$runtime" > "$genfile" - cc -isystem "${genfile%/*}" -include "${genfile##*/}" --std=c99 -pedantic -Wall -Wextra -Werror "$@" - status=$? - rm "$genfile" - exit "$status" -fi - # scan objects/libs for referenced libraries scan_for_libs(){ [[ $# -ne 0 ]] && nm "$@" | sed -n '/__autolib/ s/.*_\+autolib_// p' | sort -u @@ -75,4 +33,3 @@ scan_for_libs(){ # if we made it here, we must be linking. scan for dependencies mapfile -t libraries < <(scan_for_libs "${objects[@]}") cc "$@" "${libraries[@]/#/-l}" - diff --git a/atf b/atf new file mode 100755 index 0000000..aada39b --- /dev/null +++ b/atf @@ -0,0 +1,353 @@ +#!/usr/bin/env bash + +runner="runner.c" +declare -a sources +header=$(cat<<-EOF +#include +#include +#include + +#ifdef ATF_TEST + #define main MAIN + #define UNITTEST(name,...) void name(void) +#else + #define UNITTEST(name,...) static inline void name(void) +#endif + +#define CHECK(cond) Assert(cond, #cond, __FILE__, __LINE__) + +typedef struct Value { + struct Value* next; + void (*showfn)(struct Value* val); + long ndata; + long data[]; +} Value; + +void Assert(int cond, char* condstr, char* file, int line); +void* ValueAlloc(void (*showfn)(Value* val), size_t num, size_t sz, void* data); +long RandR(long from, long to); +long Rand(void); + +void ShowLong(Value* val); +void ShowBool(Value* val); +void ShowChar(Value* val); +void ShowString(Value* val); + +long MkLongR(long from, long to); +long MkLong(void); +uint8_t MkU8(void); +uint16_t MkU16(void); +uint32_t MkU32(void); +bool MkBool(void); +char MkAsciiChar(void); +char* MkAsciiStringL(size_t len); +char* MkAsciiString(void); +EOF +) + +# get the list of sources +for i do + case "$i" in + *.c) sources+=("$i") ;; + --header) + printf "%s\n" "$header" + exit 0 + ;; + esac +done + +cat <<-EOF > "$runner" +#include "atf.h" +#undef main +#include +#include +#include +#include +#include +#include +#include +#include + +#define RUN(file, line, name, ntrials) \\ + void name(void); \\ + runtestn(file, line, #name, name, ntrials) + +static char* Curr_File = 0; +static char* Curr_Test = 0; +static char* Curr_Expr = 0; +static unsigned int Curr_Line = 0; +static Value* Curr_Values; +static jmp_buf Jump_Buf; +static unsigned long Total = 0; +static unsigned long Failed = 0; +static uintptr_t Heap_Buf[1024*1024]; +static uintptr_t* Heap_Top = Heap_Buf; +static uintptr_t* Heap_Base = Heap_Buf; +static uintptr_t* Heap_End = Heap_Buf + sizeof(Heap_Buf)/sizeof(uintptr_t) - 1; +enum { + FAIL_ASSERT = 1, + FAIL_OOM = 2 +}; + +/* Basic Runtime Functions + ****************************/ +static int print_results(void) +{ + printf("%lu/%lu tests passed\n" , Total - Failed, Total); + return Failed; +} + +static void print_values(void) +{ + Value* values = 0; + while (Curr_Values) + { + Value* val = Curr_Values; + Curr_Values = val->next; + val->next = values; + values = val; + } + + while (values) + { + printf(" -> arg: "); + values->showfn(values); + values = values->next; + } +} + +void* malloc(size_t size) +{ + void* ptr = Heap_Top; + size_t num_words = ((size & ~0x7) + ((size & 7) ? 1 : 0)) / sizeof(uintptr_t) + 1; + *Heap_Top = size; + Heap_Top += num_words; + if (Heap_Top > Heap_End) + { + Heap_Top = Heap_Base; // Reset heap in case printf mallocs. + fprintf(stderr,"%s:%d: MEM %s out of memory\n", Curr_File, Curr_Line, Curr_Test); + longjmp(Jump_Buf, FAIL_OOM); + } + else + { + memset(ptr, 0, size); + } + return ptr; +} + +void* calloc(size_t num, size_t size) +{ + return malloc(num * size); +} + +void* realloc(void* ptr, size_t new_size) +{ + uintptr_t old_size = *((uintptr_t*)ptr - 1); + void* newptr = malloc(new_size); + memcpy(newptr, ptr, old_size); + return newptr; +} + +void free(void* ptr) +{ + (void)ptr; /* simply reset the buffer after each test */ +} + +void Assert(int cond, char* condstr, char* file, int line) +{ + if (!cond) + { + Curr_File = file; + Curr_Line = line; + Curr_Expr = condstr; + longjmp(Jump_Buf, 1); + } +} + +static int runtest(void (*fn)(void)) +{ + Curr_Values = 0; + Heap_Top = Heap_Base; + int code = setjmp(Jump_Buf); + if (code == 0) + { + fn(); + } + return code; +} + +static void runtestn(char* file, int line, char* fnname, void (*fn)(void), int ntrials) +{ + Curr_File = file; + Curr_Line = line; + Curr_Test = fnname; + Total++; + for (int i = 0; i < ntrials; i++) + { + int fail = runtest(fn); + if (fail != 0) + { + Failed++; + if (fail == FAIL_ASSERT) + { + if (ntrials == 1) + { + printf("%s:%d: FAIL for test %s \n -> CHECK( %s )\n", Curr_File, Curr_Line, Curr_Test, Curr_Expr); + } + else + { + printf("%s:%d: FAIL on trial %d/%d for test %s\n", Curr_File, Curr_Line, i, ntrials, Curr_Test); + print_values(); + } + } + break; + } + } +} + +static void handle_signal(int sig) +{ + /* Determine the signal name */ + char* sig_name = NULL; + switch(sig) + { + case SIGABRT: sig_name = "SIGABRT"; break; + case SIGBUS: sig_name = "SIGBUS"; break; + case SIGFPE: sig_name = "SIGFPE"; break; + case SIGILL: sig_name = "SIGILL"; break; + case SIGSEGV: sig_name = "SIGSEGV"; break; + case SIGSYS: sig_name = "SIGSYS"; break; + /* If we don't recognize it then just return and let the default handler + catch it. */ + default: return; + } + /* Error and exit. No summary will be printed but the user will know which + test has crashed. */ + fprintf(stderr,"%s:%d: CRASH %s (signal: %d - %s)\n", Curr_File, Curr_Line, Curr_Test, sig, sig_name); + Failed++; + (void)print_results(); + _Exit(1); +} + +/* Property Testing Functions + ****************************/ +void* ValueAlloc(void (*showfn)(Value* val), size_t num, size_t sz, void* data) +{ + Value* value = calloc(num, sizeof(Value) + sz); + value->showfn = showfn; + value->ndata = num; + value->next = Curr_Values; + Curr_Values = value; + if (data) + { + memcpy(value->data, data, num * sz); + } + return &(value->data[0]); +} + +long RandR(long from, long to) +{ + return ((rand() % (to - from + 1)) + from); +} + +long Rand(void) +{ + return rand(); +} + +void ShowLong(Value* val) +{ + printf("%ld\n", (val->data[0])); +} + +void ShowBool(Value* val) +{ + printf("%s\n", (val->data[0] ? "true" : "false")); +} + +void ShowChar(Value* val) +{ + printf("'%c'\n", (char)(val->data[0])); +} + +void ShowString(Value* val) +{ + printf("'%s'\n", (char*)(val->data)); +} + +long MkLongR(long from, long to) +{ + return *((long*)ValueAlloc(ShowLong, 1, sizeof(long), &(long){RandR(from, to)})); +} + +long MkLong(void) +{ + return *((long*)ValueAlloc(ShowLong, 1, sizeof(long), &(long){Rand()})); +} + +uint8_t MkU8(void) +{ + return MkLongR(0, UINT8_MAX); +} + +uint16_t MkU16(void) +{ + return MkLongR(0, UINT16_MAX); +} + +uint32_t MkU32(void) +{ + return MkLongR(0, UINT32_MAX); +} + +bool MkBool(void) +{ + return *((bool*)ValueAlloc(ShowBool, 1, sizeof(bool), &(bool){RandR(0, 1)})); +} + +char MkAsciiChar(void) +{ + return *((char*)ValueAlloc(ShowChar, 1, sizeof(char), &(char){RandR(32, 127)})); +} + +char* MkAsciiStringL(size_t len) { + char* val = ValueAlloc(ShowString, len+1, sizeof(char), 0); + for (size_t i = 0; i < len; i++) + { + *(val++) = RandR(32, 127); + } + return val; +} + +char* MkAsciiString(void) { + return MkAsciiStringL(RandR(1, 1024)); +} + +/* Main Routine + ****************************/ +int main(int argc, char** argv) +{ + (void)runtestn; + unsigned int seed = (argc >= 2 ? strtoul(argv[1], 0, 0) : (unsigned int)time(0)); + printf("Seed: %u\n", seed); + srand(seed); + signal(SIGABRT, handle_signal); + signal(SIGBUS, handle_signal); + signal(SIGFPE, handle_signal); + signal(SIGILL, handle_signal); + signal(SIGSEGV, handle_signal); + signal(SIGSYS, handle_signal); + Heap_Base = Heap_Top; +EOF +grep -Hn '\(PROP\|UNIT\)TEST' "${sources[@]}" | sed ' + s/^\(.*\):\(.*\):[\t ]*UNITTEST(\(.*\),\(.*\)).*$/ RUN("\1",\2,\3,\4);/ + s/^\(.*\):\(.*\):[\t ]*UNITTEST(\(.*\)).*$/ RUN("\1",\2,\3,1);/ +' >> "$runner" +cat <<-EOF >> "$runner" + return print_results(); +} +EOF + +cc="${CC:-cc}" +"$cc" -DATF_TEST -g -o runner -O0 "$@" "$runner" && ./runner +#rm -f runner "$runner" diff --git a/inc/atf.h b/inc/atf.h index b76cd7e..5ce11c3 100644 --- a/inc/atf.h +++ b/inc/atf.h @@ -1,160 +1,39 @@ -/** - @file - Aardvark Test Framework - A minimalistic unit testing framework for C. - - Copyright 2014 Michael D. Lowis - - Permission to use, copy, modify, and/or distribute this software - for any purpose with or without fee is hereby granted, provided - that the above copyright notice and this permission notice appear - in all copies. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL - WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE - AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA - OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. -*/ -#ifndef ATF_H -#define ATF_H - -#include +#include #include -#include -#include - -extern char* Curr_Test; -void atf_init(int argc, char** argv); -void atf_test_start(char* file, unsigned int line, char* name); -bool atf_test_assert(bool success, char* expr_str, char* file, int line); -void atf_test_fail(char* expr, char* file, int line); -int atf_print_results(void); - -#define IGNORE(msg) \ - printf("%s:%d:%s:IGNORE:\n\t%s\n", __FILE__, __LINE__, Curr_Test, msg); break - -#define CHECK(expr) \ - if(atf_test_assert((expr), #expr, __FILE__, __LINE__)) break - -#define CHECK_EXITCODE(code) \ - CHECK(ExitCode == code) - -#define TEST_SUITE(name) \ - void name(void) - -#define TEST(desc) \ - for(atf_test_start(__FILE__,__LINE__,#desc); Curr_Test != NULL; Curr_Test = NULL) - -#define RUN_TEST_SUITE(name) \ - name(); - -#define RUN_EXTERN_TEST_SUITE(name) \ - do { extern TEST_SUITE(name); RUN_TEST_SUITE(name); } while(0) - -#define EXPECT_EXIT \ - if ((ExitExpected = true, 0 == setjmp(ExitPad))) - -/* Function Definitions - *****************************************************************************/ -#ifdef INCLUDE_DEFS -#include #include -#ifndef NO_SIGNALS -#include -#endif - -char* Curr_Test = NULL; -char* Curr_File = NULL; -unsigned int Curr_Line = 0; -static unsigned int Total = 0; -static unsigned int Failed = 0; -bool ExitExpected; -int ExitCode; -jmp_buf ExitPad; - -#ifndef NO_SIGNALS -static void handle_signal(int sig) { - /* Determine the signal name */ - char* sig_name = NULL; - switch(sig) { - case SIGABRT: sig_name = "SIGABRT"; break; - case SIGBUS: sig_name = "SIGBUS"; break; - case SIGFPE: sig_name = "SIGFPE"; break; - case SIGILL: sig_name = "SIGILL"; break; - case SIGSEGV: sig_name = "SIGSEGV"; break; - case SIGSYS: sig_name = "SIGSYS"; break; - /* If we don't recognize it then just return and let the default handler - catch it. */ - default: return; - } - /* Error and exit. No summary will be printed but the user will know which - test has crashed. */ - fprintf(stderr,"%s:%d:0:%s:CRASH (signal: %d - %s)\n", Curr_File, Curr_Line, Curr_Test, sig, sig_name); - Failed++; - (void)atf_print_results(); - _Exit(1); -} -#endif - -void atf_init(int argc, char** argv) { - /* I reserve the right to use these later */ - (void)argc; - (void)argv; - -#ifndef NO_SIGNALS - /* Init signal handler */ - signal(SIGABRT, handle_signal); - signal(SIGBUS, handle_signal); - signal(SIGFPE, handle_signal); - signal(SIGILL, handle_signal); - signal(SIGSEGV, handle_signal); - signal(SIGSYS, handle_signal); -#endif -} - -void atf_test_start(char* file, unsigned int line, char* name) { - Curr_File = file; - Curr_Line = line; - Curr_Test = name; - Total++; -} - -bool atf_test_assert(bool success, char* expr, char* file, int line) { - bool failed = !success; - if (failed) atf_test_fail(expr,file,line); - return failed; -} - -void atf_test_fail(char* expr, char* file, int line) { - Failed++; - printf("%s:%d:0:%s:FAIL:( %s )\n", file, line, Curr_Test, expr); \ -} - -int atf_print_results(void) { - static const char* results_string = - "\nUnit Test Summary" - "\n-----------------" - "\nTotal: %d" - "\nPassed: %d" - "\nFailed: %d" - "\n\n"; - printf(results_string, Total, Total - Failed, Failed); - return Failed; -} -void exit(int code) { - if (ExitExpected) { - ExitCode = code; - ExitExpected = false; - longjmp(ExitPad, 1); - } else { - assert(!"Unexpected exit. Something went wrong"); - abort(); // if NDEBUG defined - } -} +#ifdef ATF_TEST + #define main MAIN + #define UNITTEST(name,...) void name(void) +#else + #define UNITTEST(name,...) static inline void name(void) #endif -#endif /* ATF_H */ +#define CHECK(cond) Assert(cond, #cond, __FILE__, __LINE__) + +typedef struct Value { + struct Value* next; + void (*showfn)(struct Value* val); + long ndata; + long data[]; +} Value; + +void Assert(int cond, char* condstr, char* file, int line); +void* ValueAlloc(void (*showfn)(Value* val), size_t num, size_t sz, void* data); +long RandR(long from, long to); +long Rand(void); + +void ShowLong(Value* val); +void ShowBool(Value* val); +void ShowChar(Value* val); +void ShowString(Value* val); + +long MkLongR(long from, long to); +long MkLong(void); +uint8_t MkU8(void); +uint16_t MkU16(void); +uint32_t MkU32(void); +bool MkBool(void); +char MkAsciiChar(void); +char* MkAsciiStringL(size_t len); +char* MkAsciiString(void); diff --git a/inc/qcheck.h b/inc/qcheck.h index e66914a..033a97d 100644 --- a/inc/qcheck.h +++ b/inc/qcheck.h @@ -22,8 +22,10 @@ #define QCHECK_H #include +#include #include #include +#include typedef struct QCValue { void (*showfn)(struct QCValue* val); diff --git a/inc/stdc.h b/inc/stdc.h index 8630a4a..68e0e36 100644 --- a/inc/stdc.h +++ b/inc/stdc.h @@ -4,21 +4,25 @@ @author Michael D. Lowis @license BSD 2-clause License */ - -///* Standard Macros and Types */ -//#include -//#include -//#include -//#include -//#include -//#include -// -///* Useful Standard Functions */ -//#include -//#include -//#include -//#include -//#include +#define _POSIX_C_SOURCE 200809L +#define _XOPEN_SOURCE 700 +#define AUTOLIB(n) \ + int __autolib_##n __attribute__ ((weak)); +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-function" @@ -164,7 +168,4 @@ static inline char* _getopt_(int* p_argc, char*** p_argv) { ((x) > (y) ? (x) : (y)) #endif -#define UNITTEST(name) \ - void unittest_##name(void) - #pragma GCC diagnostic pop diff --git a/src/edit.c b/src/edit.c index 098bee1..4f61aef 100644 --- a/src/edit.c +++ b/src/edit.c @@ -1,7 +1,3 @@ -/** - @file - @ingroup edit -*/ #include #include diff --git a/src/fetch.c b/src/fetch.c index 322a0af..12285b7 100644 --- a/src/fetch.c +++ b/src/fetch.c @@ -1,7 +1,3 @@ -/** - @file - @ingroup fetch -*/ #include #include #include diff --git a/src/fetchsel.c b/src/fetchsel.c index 5cd4576..de6ab68 100644 --- a/src/fetchsel.c +++ b/src/fetchsel.c @@ -1,7 +1,3 @@ -/** - @file - @ingroup fetch -*/ #include #include diff --git a/src/lib/argv0.c b/src/lib/argv0.c index a0994c6..bdc2fe1 100644 --- a/src/lib/argv0.c +++ b/src/lib/argv0.c @@ -1,2 +1 @@ -/** @file */ -char* ARGV0 = NULL; +char* ARGV0 = 0; diff --git a/src/lib/buf.c b/src/lib/buf.c index e7853f8..252dfa0 100644 --- a/src/lib/buf.c +++ b/src/lib/buf.c @@ -1,4 +1,3 @@ -/** @file */ #include #include #include @@ -9,11 +8,6 @@ #include #include "config.h" -UNITTEST(foo) -{ - -} - #ifndef NDEBUG static bool buf_valid(Buf* buf) { diff --git a/src/lib/dbc.c b/src/lib/dbc.c index 69d3a6f..bb4f96b 100644 --- a/src/lib/dbc.c +++ b/src/lib/dbc.c @@ -1,4 +1,4 @@ -/** @file */ +#include #include #include #include diff --git a/src/lib/draw.c b/src/lib/draw.c index f788949..747ee01 100644 --- a/src/lib/draw.c +++ b/src/lib/draw.c @@ -1,4 +1,3 @@ -/** @file */ #include #include #include diff --git a/src/lib/editlog.c b/src/lib/editlog.c index 8c5c947..023edce 100644 --- a/src/lib/editlog.c +++ b/src/lib/editlog.c @@ -1,4 +1,3 @@ -/** @file */ #include #include #include diff --git a/src/lib/exec.c b/src/lib/exec.c index 0fa2f7f..a12876e 100644 --- a/src/lib/exec.c +++ b/src/lib/exec.c @@ -1,4 +1,3 @@ -/** @file */ #include #include #include diff --git a/src/lib/gapbuf.c b/src/lib/gapbuf.c index 72ba87a..a5b915c 100644 --- a/src/lib/gapbuf.c +++ b/src/lib/gapbuf.c @@ -1,4 +1,3 @@ -/** @file */ #include #include #include diff --git a/src/lib/job.c b/src/lib/job.c index d913a54..08f1c8c 100644 --- a/src/lib/job.c +++ b/src/lib/job.c @@ -1,4 +1,3 @@ -/** @file */ #include #include #include diff --git a/src/lib/mouse.c b/src/lib/mouse.c index a7c0301..db022b1 100644 --- a/src/lib/mouse.c +++ b/src/lib/mouse.c @@ -1,4 +1,4 @@ -/** @file */ +#include #include #include #include diff --git a/src/lib/range.c b/src/lib/range.c index a5136aa..7eecc44 100644 --- a/src/lib/range.c +++ b/src/lib/range.c @@ -1,4 +1,3 @@ -/** @file */ #include #include #include diff --git a/src/lib/readfd.c b/src/lib/readfd.c index 75f1cc2..f27a9c2 100644 --- a/src/lib/readfd.c +++ b/src/lib/readfd.c @@ -1,4 +1,4 @@ -/** @file */ +#include #include long readfd(int fd, char* data, long toread) diff --git a/src/lib/readfile.c b/src/lib/readfile.c index 05facba..e8c9cbc 100644 --- a/src/lib/readfile.c +++ b/src/lib/readfile.c @@ -1,4 +1,4 @@ -/** @file */ +#include #include #include #include diff --git a/src/lib/shortcuts.c b/src/lib/shortcuts.c index 1993622..aee1832 100644 --- a/src/lib/shortcuts.c +++ b/src/lib/shortcuts.c @@ -1,4 +1,4 @@ -/** @file */ +#include #include #include #include diff --git a/src/lib/telem.c b/src/lib/telem.c index 9f3577d..ee9dc94 100644 --- a/src/lib/telem.c +++ b/src/lib/telem.c @@ -1,4 +1,3 @@ -/** @file */ #include #include #include diff --git a/src/lib/utf8.c b/src/lib/utf8.c index ff736c7..622dc67 100644 --- a/src/lib/utf8.c +++ b/src/lib/utf8.c @@ -1,4 +1,3 @@ -/** @file */ #include #include #include diff --git a/src/lib/view.c b/src/lib/view.c index e7072b6..87e24e1 100644 --- a/src/lib/view.c +++ b/src/lib/view.c @@ -1,4 +1,3 @@ -/** @file */ #include #include #include diff --git a/src/lib/writefd.c b/src/lib/writefd.c index 31dade2..af1edb1 100644 --- a/src/lib/writefd.c +++ b/src/lib/writefd.c @@ -1,4 +1,4 @@ -/** @file */ +#include #include long writefd(int fd, char* data, long towrite) diff --git a/src/lib/x11.c b/src/lib/x11.c index ed5eb5f..d10b25e 100644 --- a/src/lib/x11.c +++ b/src/lib/x11.c @@ -1,4 +1,4 @@ -/** @file */ +#include #include #include #include diff --git a/src/lib/x11_gc.c b/src/lib/x11_gc.c index c939e53..77c8211 100644 --- a/src/lib/x11_gc.c +++ b/src/lib/x11_gc.c @@ -1,4 +1,4 @@ -/** @file */ +#include #include #include #include diff --git a/src/lib/x11_sel.c b/src/lib/x11_sel.c index 0e95c55..1c0170b 100644 --- a/src/lib/x11_sel.c +++ b/src/lib/x11_sel.c @@ -1,4 +1,4 @@ -/** @file */ +#include #include struct XSel { diff --git a/src/lib/xpty.c b/src/lib/xpty.c index aa717ca..2907e3e 100644 --- a/src/lib/xpty.c +++ b/src/lib/xpty.c @@ -1,4 +1,3 @@ -/** @file */ #include #include #include diff --git a/src/pick.c b/src/pick.c index 4db071a..1f8b171 100644 --- a/src/pick.c +++ b/src/pick.c @@ -1,7 +1,3 @@ -/** - @file - @ingroup pick -*/ #include #include #include diff --git a/src/registrar.c b/src/registrar.c index 4629b55..7a4cc34 100644 --- a/src/registrar.c +++ b/src/registrar.c @@ -1,7 +1,3 @@ -/** - @file - @ingroup registrar -*/ #include #include #include diff --git a/src/tide.c b/src/tide.c index 40274be..45e99f5 100644 --- a/src/tide.c +++ b/src/tide.c @@ -1,7 +1,3 @@ -/** - @file - @ingroup tide -*/ #include #include #include diff --git a/tests/lib/buf.c b/tests/lib/buf.c index 98a1402..b5d11e2 100644 --- a/tests/lib/buf.c +++ b/tests/lib/buf.c @@ -1,6 +1,6 @@ +#include #include #include -#include #include #include #include "config.h"