diff --git a/ast.c b/ast.c index 22c4def..ae710d6 100644 --- a/ast.c +++ b/ast.c @@ -1,7 +1,7 @@ /* * Copyright (C) 2012, 2013 * Wolfgang Bumiller - * Dale Weiler + * Dale Weiler * * Permission is hereby granted, free of charge, to any person obtaining a copy of * this software and associated documentation files (the "Software"), to deal in @@ -2131,7 +2131,7 @@ bool ast_entfield_codegen(ast_entfield *self, ast_function *func, bool lvalue, i } else { *out = ir_block_create_load_from_ent(func->curblock, ast_ctx(self), ast_function_label(func, "efv"), ent, field, self->expression.vtype); - /* Done AFTER error checking: + /* Done AFTER error checking: codegen_output_type(self, *out); */ } diff --git a/ast.h b/ast.h index 9b55421..14d38d8 100644 --- a/ast.h +++ b/ast.h @@ -238,7 +238,7 @@ struct ast_binary_s ast_expression *left; ast_expression *right; ast_binary_ref refs; - + }; ast_binary* ast_binary_new(lex_ctx ctx, int op, diff --git a/conout.c b/conout.c index 00b8158..7e8cd9a 100644 --- a/conout.c +++ b/conout.c @@ -288,7 +288,7 @@ int con_change(const char *out, const char *err) { /* * Defaultizer because stdio.h shouldn't be used anywhere except here * and inside file.c To prevent mis-match of wrapper-interfaces. - */ + */ FILE *con_default_out() { return (console.handle_out = stdout); } diff --git a/correct.c b/correct.c index 6f234b0..7e16608 100644 --- a/correct.c +++ b/correct.c @@ -2,7 +2,7 @@ * Copyright (C) 2012, 2013 * Dale Weiler * Wolfgang Bumiller - * + * * Permission is hereby granted, free of charge, to any person obtaining a copy of * this software and associated documentation files (the "Software"), to deal in * the Software without restriction, including without limitation the rights to @@ -51,11 +51,11 @@ * Bayesian interpretation. You can read more about it from here: * http://www.celiagreen.com/charlesmccreery/statistics/bayestutorial.pdf * (which is probably the only good online documentation for bayes theroy - * no lie. Everything else just sucks ..) - * + * no lie. Everything else just sucks ..) + * * Bayes' Thereom suggests something like the following: * AC P(I|C) P(C) / P(I) - * + * * However since P(I) is the same for every possibility of I, we can * completley ignore it giving just: * AC P(I|C) P(C) @@ -72,7 +72,7 @@ * 3: AC, the control mechanisim, an enumerator if you will, one that * enumerates all feasible values of C, to determine the one that * gives the greatest probability score. - * + * * In reality the requirement for a more complex expression involving * two seperate models is considerably a waste. But one must recognize * that P(C|I) is already conflating two factors. It's just much simpler @@ -85,8 +85,8 @@ * distance no greater than one. Knowing this we can optimize for most * cases of mistakes without taking a performance hit. Which is what we * base longer edit distances off of. Opposed to the original method of - * I had concieved of checking everything. - * + * I had concieved of checking everything. + * * A little information on additional algorithms used: * * Initially when I implemented this corrector, it was very slow. @@ -117,8 +117,8 @@ * char-to-index map into the branches. We've complelty made the trie * accesses entierly constant in lookup time. No really, a lookup is * literally trie[str[0]] [str[1]] [2] .... .value. - * - * + * + * * Future Work (If we really need it) * * Currently we can only distinguish one source of error in the @@ -128,7 +128,7 @@ * Currently the error model has been fairly trivial, the smaller the * edit distance the smaller the error. This usually causes some un- * expected problems. e.g reciet->recite yields recipt. For QuakeC - * this could become a problem when lots of identifiers are involved. + * this could become a problem when lots of identifiers are involved. */ @@ -314,7 +314,7 @@ void correct_del(correct_trie_t* dictonary, size_t **data) { * not in the mood to figure out that logic. This is a reminder to * do it, or for someone else to :-) correct_edit however would also * need to take a size_t ** to carry it along (would all the argument - * overhead be worth it?) + * overhead be worth it?) */ static GMQCC_INLINE size_t correct_deletion(const char *ident, char **array) { size_t itr = 0; @@ -421,7 +421,7 @@ static GMQCC_INLINE int correct_exist(char **array, register size_t *sizes, size /* * We can save tons of calls to memcmp if we simply ignore comparisions * that we know cannot contain the same length. - */ + */ if (sizes[itr] == len && !memcmp(array[itr], ident, len)) return 1; } diff --git a/fs.c b/fs.c index 997b368..3a482a1 100644 --- a/fs.c +++ b/fs.c @@ -33,7 +33,7 @@ * to adding support for some other larger IO tasks (in the test-suite, * or even the QCVM we'll need it). There is also a third possibility of * building .dat files directly from zip files (which would be very cool - * at least I think so). + * at least I think so). */ #ifdef _MSC_VER /* {{{ */ @@ -41,7 +41,7 @@ * Visual Studio has security CRT features which I actually want to support * if we ever port to Windows 8, and want GMQCC to be API safe. * - * We handle them here, for all file-operations. + * We handle them here, for all file-operations. */ static void file_exception ( @@ -128,7 +128,7 @@ /* * These are implemented as just generic wrappers to keep consistency in - * the API. Not as macros though + * the API. Not as macros though */ void fs_file_close(FILE *fp) { /* Invokes file_exception on windows if fp is null */ @@ -221,7 +221,7 @@ int fs_file_getline(char **lineptr, size_t *n, FILE *stream) { /* * Now we implement some directory functionality. Windows lacks dirent.h * this is such a pisss off, we implement it here. - */ + */ #if defined(_WIN32) && !defined(__MINGW32__) DIR *fs_dir_open(const char *name) { DIR *dir = (DIR*)mem_a(sizeof(DIR) + strlen(name)); @@ -231,7 +231,7 @@ int fs_file_getline(char **lineptr, size_t *n, FILE *stream) { strncpy(dir->dd_name, name, strlen(name)); return dir; } - + int fs_dir_close(DIR *dir) { FindClose((HANDLE)dir->dd_handle); mem_d ((void*)dir); @@ -267,7 +267,7 @@ int fs_file_getline(char **lineptr, size_t *n, FILE *stream) { if (!rets) return NULL; - + if ((data = (struct dirent*)mem_a(sizeof(struct dirent)))) { strncpy(data->d_name, info.cFileName, FILENAME_MAX - 1); data->d_name[FILENAME_MAX - 1] = '\0'; /* terminate */ diff --git a/ftepp.c b/ftepp.c index 8034665..9d0fed9 100644 --- a/ftepp.c +++ b/ftepp.c @@ -1,7 +1,7 @@ /* * Copyright (C) 2012, 2013 * Wolfgang Bumiller - * Dale Weiler + * Dale Weiler * * Permission is hereby granted, free of charge, to any person obtaining a copy of * this software and associated documentation files (the "Software"), to deal in @@ -76,7 +76,7 @@ typedef struct ftepp_s { /* * Implement the predef subsystem now. We can do this safely with the * help of lexer contexts. - */ + */ static uint32_t ftepp_predef_countval = 0; static uint32_t ftepp_predef_randval = 0; diff --git a/gmqcc.h b/gmqcc.h index 4b60682..ad185a0 100644 --- a/gmqcc.h +++ b/gmqcc.h @@ -168,7 +168,7 @@ GMQCC_IND_STRING(GMQCC_VERSION_PATCH) \ typedef __int64 int64_t; #endif /*! _MSC_VER */ -/* +/* *windows makes these prefixed because they're C99 * TODO: utility versions that are type-safe and not * just plain textual subsitution. @@ -263,7 +263,7 @@ GMQCC_IND_STRING(GMQCC_VERSION_PATCH) \ * On windows systems where we're not compiling with MING32 we need a * little extra help on dependinces for implementing our own dirent.h * in fs.c. - */ + */ #if defined(_WIN32) && !defined(__MINGW32__) # define _WIN32_LEAN_AND_MEAN # include @@ -421,7 +421,7 @@ void util_htrm (hash_table_t *ht, const char *key, void (*cb)(void*)); void *util_htget (hash_table_t *ht, const char *key); void *util_htgeth(hash_table_t *ht, const char *key, size_t hash); - + /*===================================================================*/ /*============================ file.c ===============================*/ /*===================================================================*/ @@ -432,7 +432,7 @@ int fs_file_getc (FILE *); int fs_file_printf (FILE *, const char *, ...); int fs_file_puts (FILE *, const char *); int fs_file_seek (FILE *, long int, int); -long int fs_file_tell (FILE *); +long int fs_file_tell (FILE *); size_t fs_file_read (void *, size_t, size_t, FILE *); size_t fs_file_write (const void *, size_t, size_t, FILE *); diff --git a/intrin.h b/intrin.h index 69490dc..4b4c947 100644 --- a/intrin.h +++ b/intrin.h @@ -87,7 +87,7 @@ ast_expression *intrin_pow(parser_t *parser) { * local *= x; * } * return local; - * } + * } */ static ast_value *value = NULL; @@ -226,7 +226,7 @@ ast_expression *intrin_mod(parser_t *parser) { * float mod(float x, float y) { * return x - y * floor(x / y); * } - */ + */ static ast_value *value = NULL; if (!value) { @@ -321,8 +321,8 @@ ast_expression *intrin_isnan(parser_t *parser) { * local = x; * * return (x != local); - * } - */ + * } + */ static ast_value *value = NULL; if (!value) { @@ -330,7 +330,7 @@ ast_expression *intrin_isnan(parser_t *parser) { ast_value *local = ast_value_new (parser_ctx(parser), "local", TYPE_FLOAT); ast_block *body = ast_block_new (parser_ctx(parser)); ast_function *func = NULL; - + INTRIN_VAL(value, "isnan", func, "", TYPE_FLOAT); vec_push(body->locals, local); @@ -399,8 +399,8 @@ ast_expression *intrin_func(parser_t *parser, const char *name) { /* * jesus fucking christ, Blub design something less fucking * impossible to use, like a ast_is_builtin(ast_expression *), also - * use a hashtable :P - */ + * use a hashtable :P + */ if ((find = (void*)parser_find_global(parser, name)) && ((ast_value*)find)->expression.vtype == TYPE_FUNCTION) for (i = 0; i < vec_size(parser->functions); ++i) if (((ast_value*)find)->name && !strcmp(parser->functions[i]->name, ((ast_value*)find)->name) && parser->functions[i]->builtin < 0) @@ -409,7 +409,7 @@ ast_expression *intrin_func(parser_t *parser, const char *name) { if ((find = util_htget(intrin_intrinsics(), name))) { /* intrinsic is in table. This will "generate the function" so * to speak (if it's not already generated). - */ + */ return ((intrin_t*)find)->intrin(parser); } diff --git a/ir.c b/ir.c index c614594..cabddf4 100644 --- a/ir.c +++ b/ir.c @@ -3812,7 +3812,7 @@ void ir_function_dump(ir_function *f, char *ind, } if (vec_size(f->blocks)) { - oprintf("%slife passes: %i\n", ind, (int)f->run_id); + oprintf("%slife passes: %i\n", ind, (int)f->run_id); for (i = 0; i < vec_size(f->blocks); ++i) { ir_block_dump(f->blocks[i], ind, oprintf); } diff --git a/lexer.c b/lexer.c index 7f5736d..db0a8f4 100644 --- a/lexer.c +++ b/lexer.c @@ -1235,7 +1235,7 @@ int lex_do(lex_file *lex) /* case '+': case '-': - */ + */ case '*': case '/': case '<': diff --git a/opts.c b/opts.c index e37ba73..c2e019e 100644 --- a/opts.c +++ b/opts.c @@ -1,7 +1,7 @@ /* * Copyright (C) 2012, 2013 * Wolfgang Bumiller - * Dale Weiler + * Dale Weiler * * Permission is hereby granted, free of charge, to any person obtaining a copy of * this software and associated documentation files (the "Software"), to deal in @@ -269,7 +269,7 @@ static char *opts_ini_load(const char *section, const char *name, const char *va /* * undef all of these because they may still be defined like in my * case they where. - */ + */ #undef GMQCC_TYPE_FLAGS #undef GMQCC_TYPE_OPTIMIZATIONS #undef GMQCC_TYPE_WARNS @@ -347,7 +347,7 @@ void opts_ini_init(const char *file) { size_t line; FILE *ini; - + if (!file) { /* try ini */ if (!(ini = fs_file_open((file = "gmqcc.ini"), "r"))) @@ -366,4 +366,4 @@ void opts_ini_init(const char *file) { } fs_file_close(ini); -} +} diff --git a/pak.c b/pak.c index a9ef112..2ab417d 100644 --- a/pak.c +++ b/pak.c @@ -1,6 +1,6 @@ /* * Copyright (C) 2013 - * Dale Weiler + * Dale Weiler * * Permission is hereby granted, free of charge, to any person obtaining a copy of * this software and associated documentation files (the "Software"), to deal in @@ -25,7 +25,7 @@ /* * The PAK format uses a FOURCC concept for storing the magic ident within * the header as a uint32_t. - */ + */ #define PAK_FOURCC ((uint32_t)(('P' | ('A' << 8) | ('C' << 16) | ('K' << 24)))) typedef struct { @@ -36,7 +36,7 @@ typedef struct { * best to store the directories at the end of the file opposed * to the front, since it allows easy insertion without having * to load the entire file into memory again. - */ + */ uint32_t diroff; uint32_t dirlen; } pak_header_t; @@ -47,7 +47,7 @@ typedef struct { * describes a file (with directories/nested ones too in it's * file name). Hence it can be a file, file with directory, or * file with directories. - */ + */ typedef struct { char name[56]; uint32_t pos; @@ -58,7 +58,7 @@ typedef struct { * Used to get the next token from a string, where the * strings themselfs are seperated by chracters from * `sep`. This is essentially strsep. - */ + */ static char *pak_tree_sep(char **str, const char *sep) { char *beg = *str; char *end; @@ -158,13 +158,13 @@ static pak_file_t *pak_open_read(const char *file) { /* * Time to read in the directory handles and prepare the directories * vector. We're going to be reading some the file inwards soon. - */ + */ fs_file_seek(pak->handle, pak->header.diroff, SEEK_SET); /* * Read in all directories from the PAK file. These are considered * to be the "file entries". - */ + */ for (itr = 0; itr < pak->header.dirlen / 64; itr++) { pak_directory_t dir; fs_file_read (&dir, sizeof(pak_directory_t), 1, pak->handle); @@ -184,14 +184,14 @@ static pak_file_t *pak_open_write(const char *file) { /* * Generate the required directory structure / tree for * writing this PAK file too. - */ + */ pak_tree_build(file); if (!(pak->handle = fs_file_open(file, "wb"))) { /* * The directory tree that was created, needs to be * removed entierly if we failed to open a file. - */ + */ /* TODO backup directory clean */ mem_d(pak); @@ -239,13 +239,13 @@ bool pak_exists(pak_file_t *pak, const char *file, pak_directory_t **dir) { if (!pak || !file) return false; - + for (itr = 0; itr < vec_size(pak->directories); itr++) { if (!strcmp(pak->directories[itr].name, file)) { /* * Store back a pointer to the directory that matches * the request if requested (NULL is not allowed). - */ + */ if (dir) { *dir = &(pak->directories[itr]); } @@ -258,7 +258,7 @@ bool pak_exists(pak_file_t *pak, const char *file, pak_directory_t **dir) { /* * Extraction abilities. These work as you expect them to. - */ + */ bool pak_extract_one(pak_file_t *pak, const char *file, const char *outdir) { pak_directory_t *dir = NULL; unsigned char *dat = NULL; @@ -276,7 +276,7 @@ bool pak_extract_one(pak_file_t *pak, const char *file, const char *outdir) { /* * Generate the directory structure / tree that will be required * to store the extracted file. - */ + */ pak_tree_build(file); /* TODO portable path seperators */ @@ -285,7 +285,7 @@ bool pak_extract_one(pak_file_t *pak, const char *file, const char *outdir) { /* * Now create the file, if this operation fails. Then abort * It shouldn't fail though. - */ + */ if (!(out = fs_file_open(local, "wb"))) { mem_d(dat); return false; @@ -336,8 +336,8 @@ bool pak_insert_one(pak_file_t *pak, const char *file) { /* * We don't allow insertion on files that already exist within the * pak file. Weird shit can happen if we allow that ;). We also - * don't allow insertion if the pak isn't opened in write mode. - */ + * don't allow insertion if the pak isn't opened in write mode. + */ if (!pak || !file || !pak->insert || pak_exists(pak, file, NULL)) return false; @@ -358,7 +358,7 @@ bool pak_insert_one(pak_file_t *pak, const char *file) { /* * We're limited to 56 bytes for a file name string, that INCLUDES * the directory and '/' seperators. - */ + */ if (strlen(file) >= 56) { fs_file_close(fp); return false; @@ -369,7 +369,7 @@ bool pak_insert_one(pak_file_t *pak, const char *file) { /* * Allocate some memory for loading in the data that will be * redirected into the PAK file. - */ + */ if (!(dat = (unsigned char *)mem_a(dir.len))) { fs_file_close(fp); return false; @@ -391,7 +391,7 @@ bool pak_insert_one(pak_file_t *pak, const char *file) { /* * Like pak_insert_one, except this collects files in all directories * from a root directory, and inserts them all. - */ + */ bool pak_insert_all(pak_file_t *pak, const char *dir) { DIR *dp; struct dirent *dirp; @@ -422,12 +422,12 @@ bool pak_close(pak_file_t *pak) { /* * In insert mode we need to patch the header, and write * our directory entries at the end of the file. - */ + */ if (pak->insert) { pak->header.dirlen = vec_size(pak->directories) * 64; pak->header.diroff = ftell(pak->handle); - /* patch header */ + /* patch header */ fs_file_seek (pak->handle, 0, SEEK_SET); fs_file_write(&(pak->header), sizeof(pak_header_t), 1, pak->handle); diff --git a/parser.c b/parser.c index c1d3fb1..b3e9882 100644 --- a/parser.c +++ b/parser.c @@ -2,7 +2,7 @@ * Copyright (C) 2012, 2013 * Wolfgang Bumiller * Dale Weiler - * + * * Permission is hereby granted, free of charge, to any person obtaining a copy of * this software and associated documentation files (the "Software"), to deal in * the Software without restriction, including without limitation the rights to @@ -1902,7 +1902,7 @@ static bool parse_sya_operand(parser_t *parser, shunt *sy, bool with_labels) } else { var = intrin_func(parser, parser_tokval(parser)); } - + if (!var) { char *correct = NULL; size_t i; @@ -5171,7 +5171,7 @@ static bool parse_variable(parser_t *parser, ast_block *localblock, bool nofield /* * store the vstring back to var for alias and * deprecation messages. - */ + */ if (var->expression.flags & AST_FLAG_DEPRECATED || var->expression.flags & AST_FLAG_ALIAS) var->desc = vstring; @@ -5268,7 +5268,7 @@ static bool parse_variable(parser_t *parser, ast_block *localblock, bool nofield ast_value_set_name(proto->expression.params[i], var->expression.params[i]->name); if (!parser_check_qualifiers(parser, var, proto)) { retval = false; - if (proto->desc) + if (proto->desc) mem_d(proto->desc); proto = NULL; goto cleanup; @@ -5409,13 +5409,13 @@ static bool parse_variable(parser_t *parser, ast_block *localblock, bool nofield /* * add alias to aliases table and to corrector * so corrections can apply for aliases as well. - */ + */ util_htset(parser->aliases, var->name, find); /* * add to corrector so corrections can work * even for aliases too. - */ + */ correct_add ( vec_last(parser->correct_variables), &vec_last(parser->correct_variables_score), @@ -5441,7 +5441,7 @@ static bool parse_variable(parser_t *parser, ast_block *localblock, bool nofield /* * add to corrector so corrections can work * even for aliases too. - */ + */ correct_add ( vec_last(parser->correct_variables), &vec_last(parser->correct_variables_score), diff --git a/test.c b/test.c index 107140e..2ede2ae 100644 --- a/test.c +++ b/test.c @@ -210,7 +210,7 @@ int task_pclose(FILE **handles) { * This will perform compilation and execution * -fail * This will perform compilation, but requires - * the compilation to fail in order to succeed. + * the compilation to fail in order to succeed. * * This must be provided, this tag is NOT optional. * @@ -329,7 +329,7 @@ bool task_template_generate(task_template_t *tmpl, char tag, const char *file, s /* * Create some padding for the description to align the * printing of the rules file. - */ + */ if ((desclen = strlen(tmpl->description)) > pad[0]) pad[0] = desclen; } @@ -497,7 +497,7 @@ task_template_t *task_template_compile(const char *file, const char *dir, size_t /* * Create some padding for the printing to align the * printing of the rules file to the console. - */ + */ if ((filepadd = strlen(fullfile)) > pad[1]) pad[1] = filepadd; @@ -859,7 +859,7 @@ void task_destroy(void) { /* * Only remove the log files if the test actually compiled otherwise * forget about it (or if it didn't compile, and the procedure type - * was set to -fail (meaning it shouldn't compile) .. stil remove) + * was set to -fail (meaning it shouldn't compile) .. stil remove) */ if (task_tasks[i].compiled || !strcmp(task_tasks[i].tmpl->proceduretype, "-fail")) { if (remove(task_tasks[i].stdoutlogfile)) @@ -887,7 +887,7 @@ void task_destroy(void) { * This executes the QCVM task for a specificly compiled progs.dat * using the template passed into it for call-flags and user defined * messages IF the procedure type is -execute, otherwise it matches - * the preprocessor output. + * the preprocessor output. */ bool task_trymatch(task_template_t *tmpl, char ***line) { bool success = true; @@ -972,7 +972,7 @@ bool task_trymatch(task_template_t *tmpl, char ***line) { /* * Copy to output vector for diagnostics if execution match * fails. - */ + */ vec_push(*line, data); /* reset */ @@ -1022,7 +1022,7 @@ void task_schedualize(size_t *pad) { for (; i < vec_size(task_tasks); i++) { memset(space[1], 0, sizeof(space[1])); snprintf(space[1], sizeof(space[1]), "%d", (int)(i + 1)); - + con_out("test #%u %*s", i + 1, strlen(space[0]) - strlen(space[1]), ""); util_debug("TEST", "executing task: %d: %s\n", i, task_tasks[i].tmpl->description); @@ -1086,7 +1086,7 @@ void task_schedualize(size_t *pad) { task_tasks[i].tmpl->rulesfile, (pad[1] + pad[2] - strlen(task_tasks[i].tmpl->rulesfile)) + (strlen(task_type(task_tasks[i].tmpl)) - pad[2]), task_type(task_tasks[i].tmpl) - + ); continue; } @@ -1094,7 +1094,7 @@ void task_schedualize(size_t *pad) { /* * If we made it here that concludes the task is to be executed * in the virtual machine (or the preprocessor output needs to - * be matched). + * be matched). */ if (!task_trymatch(task_tasks[i].tmpl, &match)) { size_t d = 0; @@ -1136,7 +1136,7 @@ void task_schedualize(size_t *pad) { * Print the non-expected out (since we are simply not expecting it) * This will help track down bugs in template files that fail to match * something. - */ + */ if (vec_size(match) > vec_size(task_tasks[i].tmpl->comparematch)) { for (d = 0; d < vec_size(match) - vec_size(task_tasks[i].tmpl->comparematch); d++) { con_out(" Expected: Nothing | Got: \"%s\"\n", @@ -1144,7 +1144,7 @@ void task_schedualize(size_t *pad) { ); } } - + for (j = 0; j < vec_size(match); j++) mem_d(match[j]); @@ -1161,7 +1161,7 @@ void task_schedualize(size_t *pad) { task_tasks[i].tmpl->rulesfile, (pad[1] + pad[2] - strlen(task_tasks[i].tmpl->rulesfile)) + (strlen(task_type(task_tasks[i].tmpl))- pad[2]), task_type(task_tasks[i].tmpl) - + ); } mem_d(data); @@ -1192,11 +1192,11 @@ GMQCC_WARN bool test_perform(const char *curdir, const char *defs) { /* * If the default definition file isn't set to anything. We will * use the default_defs here, which is "defs.qc" - */ + */ if (!defs) { defs = default_defs; } - + task_precleanup(curdir); if (!task_propagate(curdir, pad, defs)) { diff --git a/util.c b/util.c index 73c5335..b7e3c7c 100644 --- a/util.c +++ b/util.c @@ -262,7 +262,7 @@ void util_debug(const char *area, const char *ms, ...) { /* * only required if big endian .. otherwise no need to swap * data. - */ + */ #if PLATFORM_BYTE_ORDER == GMQCC_BYTE_ORDER_BIG static GMQCC_INLINE void util_swap16(uint16_t *d, size_t l) { while (l--) { @@ -402,7 +402,7 @@ static const uint16_t util_crc16_table[] = { /* Non - Reflected */ uint16_t util_crc16(uint16_t current, const char *k, size_t len) { register uint16_t h = current; - for (; len; --len, ++k) + for (; len; --len, ++k) h = util_crc16_table[(h>>8)^((unsigned char)*k)]^(h<<8); return h; } @@ -410,9 +410,9 @@ uint16_t util_crc16(uint16_t current, const char *k, size_t len) { #if 0 uint16_t util_crc16(const char *k, int len, const short clamp) { register uint16_t h= (uint16_t)0xFFFFFFFF; - for (; len; --len, ++k) + for (; len; --len, ++k) h = util_crc16_table[(h^((unsigned char)*k))&0xFF]^(h>>8); - return (~h)%clamp; + return (~h)%clamp; } #endif @@ -674,7 +674,7 @@ void util_htdel(hash_table_t *ht) { * Portable implementation of vasprintf/asprintf. Assumes vsnprintf * exists, otherwise compiler error. * - * TODO: fix for MSVC .... + * TODO: fix for MSVC .... */ int util_vasprintf(char **dat, const char *fmt, va_list args) { int ret; @@ -686,7 +686,7 @@ int util_vasprintf(char **dat, const char *fmt, va_list args) { * formatted string if it overflows. However there is a MSVC * intrinsic (which is documented wrong) called _vcsprintf which * will return the required amount to allocate. - */ + */ #ifdef _MSC_VER char *str; if ((len = _vscprintf(fmt, args)) < 0) { @@ -779,7 +779,7 @@ static GMQCC_INLINE void mt_generate() { * a branch that is executed every iteration from [0, MT_SIZE). * * Please see: http://www.quadibloc.com/crypto/co4814.htm for more - * information on how this clever trick works. + * information on how this clever trick works. */ static const uint32_t matrix[2] = { 0x00000000,