Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Change the checkSpacing utility program to ignore whitespace at end-of-line unless the --wseol option is used. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
be1faadebd9464f1c7d4cc26104f219e |
User & Date: | drh 2012-08-20 16:23:36.995 |
Context
2012-08-20
| ||
17:24 | Add the SQLITE_DISABLE_FTS4_DEFERRED compile time option. (check-in: e799222f3b user: dan tags: trunk) | |
16:23 | Change the checkSpacing utility program to ignore whitespace at end-of-line unless the --wseol option is used. (check-in: be1faadebd user: drh tags: trunk) | |
16:08 | Silence harmless compiler warnings in the test code. (check-in: 7653973a52 user: drh tags: trunk) | |
Changes
Changes to tool/checkSpacing.c.
1 2 3 4 5 6 7 8 9 10 11 12 13 | /* ** This program checks for formatting problems in source code: ** ** * Any use of tab characters ** * White space at the end of a line ** * Blank lines at the end of a file ** ** Any violations are reported. */ #include <stdio.h> #include <stdlib.h> #include <string.h> | > > > | | | | > > > | | > > > > > > > | > > > > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | /* ** This program checks for formatting problems in source code: ** ** * Any use of tab characters ** * White space at the end of a line ** * Blank lines at the end of a file ** ** Any violations are reported. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #define CR_OK 0x001 #define WSEOL_OK 0x002 static void checkSpacing(const char *zFile, unsigned flags){ FILE *in = fopen(zFile, "rb"); int i; int seenSpace; int seenTab; int ln = 0; int lastNonspace = 0; char zLine[2000]; if( in==0 ){ printf("cannot open %s\n", zFile); return; } while( fgets(zLine, sizeof(zLine), in) ){ seenSpace = 0; seenTab = 0; ln++; for(i=0; zLine[i]; i++){ if( zLine[i]=='\t' && seenTab==0 ){ printf("%s:%d: tab (\\t) character\n", zFile, ln); seenTab = 1; }else if( zLine[i]=='\r' ){ if( (flags & CR_OK)==0 ){ printf("%s:%d: carriage-return (\\r) character\n", zFile, ln); } }else if( zLine[i]==' ' ){ seenSpace = 1; }else if( zLine[i]!='\n' ){ lastNonspace = ln; seenSpace = 0; } } if( seenSpace && (flags & WSEOL_OK)==0 ){ printf("%s:%d: whitespace at end-of-line\n", zFile, ln); } } fclose(in); if( lastNonspace<ln ){ printf("%s:%d: blank lines at end of file (%d)\n", zFile, ln, ln - lastNonspace); } } int main(int argc, char **argv){ int i; unsigned flags = WSEOL_OK; for(i=1; i<argc; i++){ const char *z = argv[i]; if( z[0]=='-' ){ while( z[0]=='-' ) z++; if( strcmp(z,"crok")==0 ){ flags |= CR_OK; }else if( strcmp(z, "wseol")==0 ){ flags &= ~WSEOL_OK; }else if( strcmp(z, "help")==0 ){ printf("Usage: %s [options] FILE ...\n", argv[0]); printf(" --crok Do not report on carriage-returns\n"); printf(" --wseol Complain about whitespace at end-of-line\n"); printf(" --help This message\n"); }else{ printf("unknown command-line option: [%s]\n", argv[i]); printf("use --help for additional information\n"); } }else{ checkSpacing(argv[i], flags); } } return 0; } |