Changes On Branch spelling
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Changes In Branch spelling Excluding Merge-Ins

This is equivalent to a diff from c0fe455c78 to 45065c5c28

2012-11-04
18:00
merge trunk Factor out main part of UTF-8 check to macro check-in: ce7c52223e user: jan.nijtmans tags: improve_commit_warning
17:41
Merge the "spelling" branch into trunk, fixing a huge number of typos, mostly in comments, but occasionally in error messages or help screens. check-in: db0c512767 user: drh tags: trunk
12:59
Fix typos. Closed-Leaf check-in: 45065c5c28 user: dmitry tags: spelling
11:58
Improvements to the fix for [0ff64b0a5fc88e7e]: (1) Better error message and (2) allow the partial commit of the renamed file as long as its destination files is also part of the partial commit. check-in: c0fe455c78 user: drh tags: trunk
00:46
Disallow the sequence: "fossil mv A B; fossil add A; fossil commit A;" since doing so requires both the old A and the new A to be in the same check-in. Ticket [0ff64b0a5fc8]. check-in: 27298fffc8 user: drh tags: trunk

Changes to src/add.c.

    51     51        ".fos",
    52     52        ".fos-journal",
    53     53        ".fos-wal",
    54     54        ".fos-shm",
    55     55     };
    56     56   
    57     57     /* Names of auxiliary files generated by SQLite when the "manifest"
    58         -  ** properity is enabled
           58  +  ** property is enabled
    59     59     */
    60     60     static const char *const azManifest[] = {
    61     61        "manifest",
    62     62        "manifest.uuid",
    63     63     };
    64     64   
    65     65     /* Cached setting "manifest" */
................................................................................
   449    449     vid = db_lget_int("checkout",0);
   450    450     if( vid==0 ){
   451    451       fossil_panic("no checkout to add to");
   452    452     }
   453    453     db_begin_transaction();
   454    454   
   455    455     /* step 1:  
   456         -  ** Populate the temp table "sfile" with the names of all unmanged
          456  +  ** Populate the temp table "sfile" with the names of all unmanaged
   457    457     ** files currently in the check-out, except for files that match the
   458    458     ** --ignore or ignore-glob patterns and dot-files.  Then add all of
   459    459     ** the files in the sfile temp table to the set of managed files.
   460    460     */
   461    461     db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY)");
   462    462     n = strlen(g.zLocalRoot);
   463    463     blob_init(&path, g.zLocalRoot, n-1);
................................................................................
   485    485           db_multi_exec("UPDATE vfile SET deleted=1 WHERE pathname=%Q", zFile);
   486    486         }
   487    487         fossil_print("DELETED  %s\n", zFile);
   488    488         nDelete++;
   489    489       }
   490    490     }
   491    491     db_finalize(&q);
   492         -  /* show cmmand summary */
          492  +  /* show command summary */
   493    493     fossil_print("added %d files, deleted %d files\n", nAdd, nDelete);
   494    494   
   495    495     db_end_transaction(isTest);
   496    496   }
   497    497   
   498    498   
   499    499   /*

Changes to src/blob.c.

   669    669     }
   670    670   }
   671    671   void blob_vappendf(Blob *pBlob, const char *zFormat, va_list ap){
   672    672     if( pBlob ) vxprintf(pBlob, zFormat, ap);
   673    673   }
   674    674   
   675    675   /*
   676         -** Initalize a blob to the data on an input channel.  Return
          676  +** Initialize a blob to the data on an input channel.  Return
   677    677   ** the number of bytes read into the blob.  Any prior content
   678    678   ** of the blob is discarded, not freed.
   679    679   */
   680    680   int blob_read_from_channel(Blob *pBlob, FILE *in, int nToRead){
   681    681     size_t n;
   682    682     blob_zero(pBlob);
   683    683     if( nToRead<0 ){

Changes to src/browse.c.

    18     18   ** This file contains code to implement the file browser web interface.
    19     19   */
    20     20   #include "config.h"
    21     21   #include "browse.h"
    22     22   #include <assert.h>
    23     23   
    24     24   /*
    25         -** This is the implemention of the "pathelement(X,N)" SQL function.
           25  +** This is the implementation of the "pathelement(X,N)" SQL function.
    26     26   **
    27     27   ** If X is a unix-like pathname (with "/" separators) and N is an
    28     28   ** integer, then skip the initial N characters of X and return the
    29     29   ** name of the path component that begins on the N+1th character
    30     30   ** (numbered from 0).  If the path component is a directory (if
    31     31   ** it is followed by other path components) then prepend "/".
    32     32   **

Changes to src/captcha.c.

    11     11   **
    12     12   ** Author contact information:
    13     13   **   drh@hwaci.com
    14     14   **   http://www.hwaci.com/drh/
    15     15   **
    16     16   *******************************************************************************
    17     17   **
    18         -** This file contains code to a simple text-based CAPTCHA.  Though eaily
           18  +** This file contains code to a simple text-based CAPTCHA.  Though easily
    19     19   ** defeated by a sophisticated attacker, this CAPTCHA does at least make
    20     20   ** scripting attacks more difficult.
    21     21   */
    22     22   #include <assert.h>
    23     23   #include "config.h"
    24     24   #include "captcha.h"
    25     25   

Changes to src/cgi.c.

   963    963     for(i=0; zOut[i]; i++){}
   964    964     while( i>0 && fossil_isspace(zOut[i-1]) ) zOut[--i] = 0;
   965    965     return zOut;
   966    966   }
   967    967   
   968    968   /*
   969    969   ** Return the name of the i-th CGI parameter.  Return NULL if there
   970         -** are fewer than i registered CGI parmaeters.
          970  +** are fewer than i registered CGI parameters.
   971    971   */
   972    972   const char *cgi_parameter_name(int i){
   973    973     if( i>=0 && i<nUsedQP ){
   974    974       return aParamQP[i].zName;
   975    975     }else{
   976    976       return 0;
   977    977     }

Changes to src/checkin.c.

   715    715     Blob *pComment,             /* Check-in comment text */
   716    716     int vid,                    /* blob-id of the parent manifest */
   717    717     int verifyDate,             /* Verify that child is younger */
   718    718     Blob *pCksum,               /* Repository checksum.  May be 0 */
   719    719     const char *zDateOvrd,      /* Date override.  If 0 then use 'now' */
   720    720     const char *zUserOvrd,      /* User override.  If 0 then use g.zLogin */
   721    721     const char *zBranch,        /* Branch name.  May be 0 */
   722         -  const char *zColor,         /* One-time gackground color.  May be 0 */
          722  +  const char *zColor,         /* One-time background color.  May be 0 */
   723    723     const char *zBrClr,         /* Persistent branch color.  May be 0 */
   724    724     const char **azTag,         /* Tags to apply to this check-in */
   725    725     int *pnFBcard               /* Number of generated B- and F-cards */
   726    726   ){
   727    727     char *zDate;                /* Date of the check-in */
   728    728     char *zParentUuid;          /* UUID of parent check-in */
   729    729     Blob filename;              /* A single filename */
................................................................................
  1248   1248       db_multi_exec("REPLACE INTO vvar VALUES('ci-comment',%B)", &comment);
  1249   1249       db_end_transaction(0);
  1250   1250       db_begin_transaction();
  1251   1251     }
  1252   1252   
  1253   1253     /* Step 1: Insert records for all modified files into the blob
  1254   1254     ** table. If there were arguments passed to this command, only
  1255         -  ** the identified fils are inserted (if they have been modified).
         1255  +  ** the identified files are inserted (if they have been modified).
  1256   1256     */
  1257   1257     db_prepare(&q,
  1258   1258       "SELECT id, %Q || pathname, mrid, %s, chnged, %s FROM vfile "
  1259   1259       "WHERE chnged==1 AND NOT deleted AND is_selected(id)",
  1260   1260       g.zLocalRoot, glob_expr("pathname", db_get("crnl-glob","")),
  1261   1261       glob_expr("pathname", db_get("binary-glob",""))
  1262   1262     );

Changes to src/clone.c.

    68     68   /*
    69     69   ** Delete all private content from a repository.
    70     70   */
    71     71   void delete_private_content(void){
    72     72     fix_private_blob_dependencies(1);
    73     73     db_multi_exec(
    74     74       "DELETE FROM blob WHERE rid IN private;"
    75         -    "DELETE FROM delta wHERE rid IN private;"
           75  +    "DELETE FROM delta WHERE rid IN private;"
    76     76       "DELETE FROM private;"
    77     77       "DROP TABLE IF EXISTS modreq;"
    78     78     );
    79     79   }
    80     80   
    81     81   
    82     82   /*

Changes to src/configure.c.

    13     13   **   drh@hwaci.com
    14     14   **   http://www.hwaci.com/drh/
    15     15   **
    16     16   *******************************************************************************
    17     17   **
    18     18   ** This file contains code used to manage repository configurations.
    19     19   **
    20         -** By "responsitory configure" we mean the local state of a repository
           20  +** By "repository configure" we mean the local state of a repository
    21     21   ** distinct from the versioned files.
    22     22   */
    23     23   #include "config.h"
    24     24   #include "configure.h"
    25     25   #include <assert.h>
    26     26   
    27     27   #if INTERFACE
................................................................................
    52     52     const char *zName;   /* Name of the configuration set */
    53     53     int groupMask;       /* Mask for that configuration set */
    54     54     const char *zHelp;   /* What it does */
    55     55   } aGroupName[] = {
    56     56     { "/email",        CONFIGSET_ADDR,  "Concealed email addresses in tickets" },
    57     57     { "/project",      CONFIGSET_PROJ,  "Project name and description"         },
    58     58     { "/skin",         CONFIGSET_SKIN | CONFIGSET_CSS,
    59         -                                      "Web interface apparance settings"     },
           59  +                                      "Web interface appearance settings"    },
    60     60     { "/css",          CONFIGSET_CSS,   "Style sheet"                          },
    61     61     { "/shun",         CONFIGSET_SHUN,  "List of shunned artifacts"            },
    62     62     { "/ticket",       CONFIGSET_TKT,   "Ticket setup",                        },
    63     63     { "/user",         CONFIGSET_USER,  "Users and privilege settings"         },
    64     64     { "/xfer",         CONFIGSET_XFER,  "Transfer setup",                      },
    65     65     { "/all",          CONFIGSET_ALL,   "All of the above"                     },
    66     66   };
................................................................................
   162    162     }
   163    163     return 0;
   164    164   }
   165    165   
   166    166   /*
   167    167   ** Return a pointer to a string that contains the RHS of an IN operator
   168    168   ** that will select CONFIG table names that are part of the configuration
   169         -** that matchines iMatch.
          169  +** that matches iMatch.
   170    170   */
   171    171   const char *configure_inop_rhs(int iMask){
   172    172     Blob x;
   173    173     int i;
   174    174     const char *zSep = "";
   175    175   
   176    176     blob_zero(&x);
................................................................................
   303    303   ){
   304    304     int m = sqlite3_value_int(argv[0]);
   305    305     configHasBeenReset |= m;
   306    306   }
   307    307   
   308    308   /*
   309    309   ** Create the temporary _xfer_reportfmt and _xfer_user tables that are
   310         -** necessary in order to evalute the SQL text generated by the
          310  +** necessary in order to evaluate the SQL text generated by the
   311    311   ** configure_render_special_name() routine.
   312    312   **
   313    313   ** If replaceFlag is true, then the setup is such that the content in
   314    314   ** the SQL text will completely replace the current repository configuration.
   315    315   ** If replaceFlag is false, then the SQL text will be merged with the
   316    316   ** existing configuration.  When merging, existing values take priority
   317    317   ** over SQL text values.
................................................................................
   458    458   **    /user       $MTIME $LOGIN pw $VALUE cap $VALUE info $VALUE photo $VALUE
   459    459   **    /shun       $MTIME $UUID scom $VALUE
   460    460   **    /reportfmt  $MTIME $TITLE owner $VALUE cols $VALUE sqlcode $VALUE
   461    461   **    /concealed  $MTIME $HASH content $VALUE
   462    462   **
   463    463   ** OLD FORMAT:
   464    464   **
   465         -** The old format is retained for backwards compatiblity, but is deprecated.
          465  +** The old format is retained for backwards compatibility, but is deprecated.
   466    466   ** The cutover from old format to new was on 2011-04-25.  After sufficient
   467    467   ** time has passed, support for the old format will be removed.
   468    468   **
   469    469   ** zName is either the NAME of an element of the CONFIG table, or else
   470    470   ** one of the special names "@shun", "@reportfmt", "@user", or "@concealed".
   471    471   ** If zName is a CONFIG table name, then CONTENT replaces (overwrites) the
   472    472   ** element in the CONFIG table.  For one of the @-labels, CONTENT is raw
................................................................................
   780    780   ** Usage: %fossil configuration METHOD ... ?OPTIONS?
   781    781   **
   782    782   ** Where METHOD is one of: export import merge pull push reset.  All methods
   783    783   ** accept the -R or --repository option to specific a repository.
   784    784   **
   785    785   **    %fossil configuration export AREA FILENAME
   786    786   **
   787         -**         Write to FILENAME exported configuraton information for AREA.
          787  +**         Write to FILENAME exported configuration information for AREA.
   788    788   **         AREA can be one of:  all email project shun skin ticket user
   789    789   **
   790    790   **    %fossil configuration import FILENAME
   791    791   **
   792    792   **         Read a configuration from FILENAME, overwriting the current
   793    793   **         configuration.
   794    794   **

Changes to src/content.c.

    18     18   ** Procedures store and retrieve records from the repository
    19     19   */
    20     20   #include "config.h"
    21     21   #include "content.h"
    22     22   #include <assert.h>
    23     23   
    24     24   /*
    25         -** The artifact retrival cache
           25  +** The artifact retrieval cache
    26     26   */
    27     27   static struct {
    28     28     i64 szTotal;         /* Total size of all entries in the cache */
    29         -  int n;               /* Current number of eache entries */
           29  +  int n;               /* Current number of cache entries */
    30     30     int nAlloc;          /* Number of slots allocated in a[] */
    31     31     int nextAge;         /* Age counter for implementing LRU */
    32     32     int skipCnt;         /* Used to limit entries expelled from cache */
    33     33     struct cacheLine {   /* One instance of this for each cache entry */
    34     34       int rid;                  /* Artifact id */
    35     35       int age;                  /* Age.  Newer is larger */
    36     36       Blob content;             /* Content of the artifact */
................................................................................
    40     40     /*
    41     41     ** The missing artifact cache.
    42     42     **
    43     43     ** Artifacts whose record ID are in missingCache cannot be retrieved
    44     44     ** either because they are phantoms or because they are a delta that
    45     45     ** depends on a phantom.  Artifacts whose content we are certain is
    46     46     ** available are in availableCache.  If an artifact is in neither cache
    47         -  ** then its current availablity is unknown.
           47  +  ** then its current availability is unknown.
    48     48     */
    49     49     Bag missing;         /* Cache of artifacts that are incomplete */
    50     50     Bag available;       /* Cache of artifacts that are complete */
    51     51   } contentCache;
    52     52   
    53     53   /*
    54     54   ** Remove the oldest element from the content cache
................................................................................
   469    469   ** and zUuid is zero then the correct zUuid is computed from pBlob.
   470    470   **
   471    471   ** If the record already exists but is a phantom, the pBlob content
   472    472   ** is inserted and the phatom becomes a real record.
   473    473   **
   474    474   ** The original content of pBlob is not disturbed.  The caller continues
   475    475   ** to be responsible for pBlob.  This routine does *not* take over
   476         -** responsiblity for freeing pBlob.
          476  +** responsibility for freeing pBlob.
   477    477   */
   478    478   int content_put_ex(
   479    479     Blob *pBlob,              /* Content to add to the repository */
   480    480     const char *zUuid,        /* SHA1 hash of reconstructed pBlob */
   481    481     int srcId,                /* pBlob is a delta from this entry */
   482    482     int nBlob,                /* pBlob is compressed. Original size is this */
   483    483     int isPrivate             /* The content should be marked private */

Changes to src/db.c.

   211    211     }
   212    212   }
   213    213   
   214    214   /*
   215    215   ** Install a commit hook.  Hooks are installed in sequence order.
   216    216   ** It is an error to install the same commit hook more than once.
   217    217   **
   218         -** Each commit hook is called (in order of accending sequence) at
          218  +** Each commit hook is called (in order of ascending sequence) at
   219    219   ** each commit operation.  If any commit hook returns non-zero,
   220    220   ** the subsequence commit hooks are omitted and the transaction
   221    221   ** rolls back rather than commit.  It is the responsibility of the
   222    222   ** hooks themselves to issue any error messages.
   223    223   */
   224    224   void db_commit_hook(int (*x)(void), int sequence){
   225    225     int i;
................................................................................
   323    323   }
   324    324   int db_bind_blob(Stmt *pStmt, const char *zParamName, Blob *pBlob){
   325    325     return sqlite3_bind_blob(pStmt->pStmt, paramIdx(pStmt, zParamName),
   326    326                             blob_buffer(pBlob), blob_size(pBlob), SQLITE_STATIC);
   327    327   }
   328    328   
   329    329   /* bind_str() treats a Blob object like a TEXT string and binds it
   330         -** to the SQL variable.  Constrast this to bind_blob() which treats
          330  +** to the SQL variable.  Contrast this to bind_blob() which treats
   331    331   ** the Blob object like an SQL BLOB.
   332    332   */
   333    333   int db_bind_str(Stmt *pStmt, const char *zParamName, Blob *pBlob){
   334    334     return sqlite3_bind_text(pStmt->pStmt, paramIdx(pStmt, zParamName),
   335    335                             blob_buffer(pBlob), blob_size(pBlob), SQLITE_STATIC);
   336    336   }
   337    337   
................................................................................
   447    447   }
   448    448   void db_column_blob(Stmt *pStmt, int N, Blob *pBlob){
   449    449     blob_append(pBlob, sqlite3_column_blob(pStmt->pStmt, N),
   450    450                 sqlite3_column_bytes(pStmt->pStmt, N));
   451    451   }
   452    452   
   453    453   /*
   454         -** Initialize a blob to an ephermeral copy of the content of a
          454  +** Initialize a blob to an ephemeral copy of the content of a
   455    455   ** column in the current row.  The data in the blob will become
   456    456   ** invalid when the statement is stepped or reset.
   457    457   */
   458    458   void db_ephemeral_blob(Stmt *pStmt, int N, Blob *pBlob){
   459    459     blob_init(pBlob, sqlite3_column_blob(pStmt->pStmt, N),
   460    460                 sqlite3_column_bytes(pStmt->pStmt, N));
   461    461   }
................................................................................
  1458   1458   ){
  1459   1459     if( g.zLogin!=0 ){
  1460   1460       sqlite3_result_text(context, g.zLogin, -1, SQLITE_STATIC);
  1461   1461     }
  1462   1462   }
  1463   1463   
  1464   1464   /*
  1465         -** Implement the cgi() SQL function.  cgi() takes a an argument which is
         1465  +** Implement the cgi() SQL function.  cgi() takes an argument which is
  1466   1466   ** a name of CGI query parameter. The value of that parameter is returned,
  1467         -** if available. optional second argument will be returned if the first
         1467  +** if available. Optional second argument will be returned if the first
  1468   1468   ** doesn't exist as a CGI parameter.
  1469   1469   */
  1470   1470   static void db_sql_cgi(sqlite3_context *context, int argc, sqlite3_value **argv){
  1471   1471     const char* zP;
  1472   1472     if( argc!=1 && argc!=2 ) return;
  1473   1473     zP = P((const char*)sqlite3_value_text(argv[0]));
  1474   1474     if( zP ){
................................................................................
  2154   2154   **                     Ex: kdiff3 "%baseline" "%original" "%merge" -o "%output"
  2155   2155   **                     Ex: xxdiff "%original" "%baseline" "%merge" -M "%output"
  2156   2156   **                     Ex: meld "%baseline" "%original" "%merge" "%output"
  2157   2157   **
  2158   2158   **    http-port        The TCP/IP port number to use by the "server"
  2159   2159   **                     and "ui" commands.  Default: 8080
  2160   2160   **
  2161         -**    https-login      Send login creditials using HTTPS instead of HTTP
         2161  +**    https-login      Send login credentials using HTTPS instead of HTTP
  2162   2162   **                     even if the login page request came via HTTP.
  2163   2163   **
  2164   2164   **    ignore-glob      The VALUE is a comma or newline-separated list of GLOB
  2165   2165   **     (versionable)   patterns specifying files that the "extra" command will
  2166   2166   **                     ignore.  Example:  *.o,*.obj,*.exe
  2167   2167   **
  2168   2168   **    localauth        If enabled, require that HTTP connections from
................................................................................
  2292   2292       }
  2293   2293     }else{
  2294   2294       usage("?PROPERTY? ?VALUE?");
  2295   2295     }
  2296   2296   }
  2297   2297   
  2298   2298   /*
  2299         -** The input in a a timespan measured in days.  Return a string which
         2299  +** The input in a timespan measured in days.  Return a string which
  2300   2300   ** describes that timespan in units of seconds, minutes, hours, days,
  2301   2301   ** or years, depending on its duration.
  2302   2302   */
  2303   2303   char *db_timespan_name(double rSpan){
  2304   2304     if( rSpan<0 ) rSpan = -rSpan;
  2305   2305     rSpan *= 24.0*3600.0;  /* Convert units to seconds */
  2306   2306     if( rSpan<120.0 ){

Changes to src/delta.c.

    14     14   **   http://www.hwaci.com/drh/
    15     15   **
    16     16   *******************************************************************************
    17     17   **
    18     18   ** This module implements the delta compress algorithm.
    19     19   **
    20     20   ** Though developed specifically for fossil, the code in this file
    21         -** is generally appliable and is thus easily separated from the
           21  +** is generally applicable and is thus easily separated from the
    22     22   ** fossil source code base.  Nothing in this file depends on anything
    23     23   ** else in fossil.
    24     24   */
    25     25   #include <stdio.h>
    26     26   #include <assert.h>
    27     27   #include <stdlib.h>
    28     28   #include <string.h>

Changes to src/descendants.c.

    11     11   **
    12     12   ** Author contact information:
    13     13   **   drh@hwaci.com
    14     14   **   http://www.hwaci.com/drh/
    15     15   **
    16     16   *******************************************************************************
    17     17   **
    18         -** This file contains code used to find decendants of a version
           18  +** This file contains code used to find descendants of a version
    19     19   ** or leaves of a version tree.
    20     20   */
    21     21   #include "config.h"
    22     22   #include "descendants.h"
    23     23   #include <assert.h>
    24     24   
    25     25   
    26     26   /*
    27     27   ** Create a temporary table named "leaves" if it does not
    28     28   ** already exist.  Load this table with the RID of all
    29         -** check-ins that are leaves which are decended from
           29  +** check-ins that are leaves which are descended from
    30     30   ** check-in iBase.
    31     31   **
    32     32   ** A "leaf" is a check-in that has no children in the same branch.
    33     33   ** There is a separate permanent table LEAF that contains all leaves
    34     34   ** in the tree.  This routine is used to compute a subset of that
    35     35   ** table consisting of leaves that are descended from a single checkin.
    36     36   **
................................................................................
    69     69       /* Initialize the bags. */
    70     70       bag_init(&seen);
    71     71       bag_init(&pending);
    72     72       bag_insert(&pending, iBase);
    73     73   
    74     74       /* This query returns all non-branch-merge children of check-in :rid.
    75     75       **
    76         -    ** If a a child is a merge of a fork within the same branch, it is 
           76  +    ** If a child is a merge of a fork within the same branch, it is 
    77     77       ** returned.  Only merge children in different branches are excluded.
    78     78       */
    79     79       db_prepare(&q1,
    80     80         "SELECT cid FROM plink"
    81     81         " WHERE pid=:rid"
    82     82         "   AND (isprim"
    83     83         "        OR coalesce((SELECT value FROM tagxref"

Changes to src/diff.c.

    21     21   #include "config.h"
    22     22   #include "diff.h"
    23     23   #include <assert.h>
    24     24   
    25     25   
    26     26   #if INTERFACE
    27     27   /*
    28         -** Allowed flag parameters to the text_diff() and html_sbsdiff() funtions:
           28  +** Allowed flag parameters to the text_diff() and html_sbsdiff() functions:
    29     29   */
    30     30   #define DIFF_CONTEXT_MASK ((u64)0x0000ffff) /* Lines of context. Default if 0 */
    31     31   #define DIFF_WIDTH_MASK   ((u64)0x00ff0000) /* side-by-side column width */
    32     32   #define DIFF_IGNORE_EOLWS ((u64)0x01000000) /* Ignore end-of-line whitespace */
    33     33   #define DIFF_SIDEBYSIDE   ((u64)0x02000000) /* Generate a side-by-side diff */
    34     34   #define DIFF_NEWFILE      ((u64)0x04000000) /* Missing shown as empty files */
    35     35   #define DIFF_BRIEF        ((u64)0x08000000) /* Show filenames only */
................................................................................
  2087   2087   */
  2088   2088   void annotate_cmd(void){
  2089   2089     int fnid;         /* Filename ID */
  2090   2090     int fid;          /* File instance ID */
  2091   2091     int mid;          /* Manifest where file was checked in */
  2092   2092     int cid;          /* Checkout ID */
  2093   2093     Blob treename;    /* FILENAME translated to canonical form */
  2094         -  char *zFilename;  /* Cannonical filename */
         2094  +  char *zFilename;  /* Canonical filename */
  2095   2095     Annotator ann;    /* The annotation of the file */
  2096   2096     int i;            /* Loop counter */
  2097   2097     const char *zLimit; /* The value to the --limit option */
  2098   2098     int iLimit;       /* How far back in time to look */
  2099   2099     int showLog;      /* True to show the log */
  2100   2100     int fileVers;     /* Show file version instead of check-in versions */
  2101   2101     int annFlags = 0; /* Flags to control annotation properties */

Changes to src/encode.c.

   132    132     zOut[i] = 0;
   133    133     return zOut;
   134    134   }
   135    135   
   136    136   /*
   137    137   ** Convert the input string into a form that is suitable for use as
   138    138   ** a token in the HTTP protocol.  Spaces are encoded as '+' and special
   139         -** characters are encoded as "%HH" where HH is a two-digit hexidecimal
          139  +** characters are encoded as "%HH" where HH is a two-digit hexadecimal
   140    140   ** representation of the character.  The "/" character is encoded
   141    141   ** as "%2F".
   142    142   */
   143    143   char *httpize(const char *z, int n){
   144    144     return EncodeHttp(z, n, 1);
   145    145   }
   146    146   

Changes to src/glob.c.

   214    214       }
   215    215     }
   216    216     return *z==0;
   217    217   }
   218    218   
   219    219   /*
   220    220   ** Return true (non-zero) if zString matches any of the patterns in
   221         -** the Glob.  The value returned is actually a 1-basd index of the pattern
          221  +** the Glob.  The value returned is actually a 1-based index of the pattern
   222    222   ** that matched.  Return 0 if none of the patterns match zString.
   223    223   **
   224    224   ** A NULL glob matches nothing.
   225    225   */
   226    226   int glob_match(Glob *pGlob, const char *zString){
   227    227     int i;
   228    228     if( pGlob==0 ) return 0;

Changes to src/http_socket.c.

   124    124   #endif
   125    125       iSocket = -1;
   126    126     }
   127    127   }
   128    128   
   129    129   /*
   130    130   ** Open a socket connection.  The identify of the server is determined
   131         -** by global varibles that are set using url_parse():
          131  +** by global variables that are set using url_parse():
   132    132   **
   133    133   **    g.urlName       Name of the server.  Ex: www.fossil-scm.org
   134    134   **    g.urlPort       TCP/IP port to use.  Ex: 80
   135    135   **
   136    136   ** Return the number of errors.
   137    137   */
   138    138   int socket_open(void){

Changes to src/http_ssl.c.

   180    180       (void)BIO_reset(iBio);
   181    181       BIO_free_all(iBio);
   182    182     }
   183    183   }
   184    184   
   185    185   /*
   186    186   ** Open an SSL connection.  The identify of the server is determined
   187         -** by global varibles that are set using url_parse():
          187  +** by global variables that are set using url_parse():
   188    188   **
   189    189   **    g.urlName       Name of the server.  Ex: www.fossil-scm.org
   190    190   **    g.urlPort       TCP/IP port to use.  Ex: 80
   191    191   **
   192    192   ** Return the number of errors.
   193    193   */
   194    194   int ssl_open(void){

Changes to src/http_transport.c.

   290    290         n -= sent;
   291    291       }
   292    292     }
   293    293   }
   294    294   
   295    295   /*
   296    296   ** This routine is called when the outbound message is complete and
   297         -** it is time to being recieving a reply.
          297  +** it is time to being receiving a reply.
   298    298   */
   299    299   void transport_flip(void){
   300    300     if( g.urlIsSsh ){
   301    301       fprintf(sshOut, "\n\n");
   302    302     }else if( g.urlIsFile ){
   303    303       char *zCmd;
   304    304       fclose(transport.pFile);

Changes to src/json.c.

   320    320     static char buf[BufSize] = {'F','O','S','S','I','L','-',0};
   321    321     assert((code >= 1000) && (code <= 9999) && "Invalid Fossil/JSON code.");
   322    322     sprintf(buf+7,"%04d", code);
   323    323     return buf;
   324    324   }
   325    325   
   326    326   /*
   327         -** Adds v to the API-internal cleanup mechanism. key is ingored
          327  +** Adds v to the API-internal cleanup mechanism. key is ignored
   328    328   ** (legacy) but might be re-introduced and "should" be a unique
   329    329   ** (app-wide) value.  Failure to insert an item may be caused by any
   330    330   ** of the following:
   331    331   **
   332    332   ** - Allocation error.
   333    333   ** - g.json.gc.a is NULL
   334    334   ** - key is NULL or empty.
................................................................................
   822    822        them in.
   823    823     */
   824    824     v = cson_value_new_array();
   825    825     g.json.gc.v = v;
   826    826     g.json.gc.a = cson_value_get_array(v);
   827    827     cson_value_add_reference(v)
   828    828       /* Needed to allow us to include this value in other JSON
   829         -       containers without transfering ownership to those containers.
          829  +       containers without transferring ownership to those containers.
   830    830          All other persistent g.json.XXX.v values get appended to
   831    831          g.json.gc.a, and therefore already have a live reference
   832    832          for this purpose.
   833    833       */
   834    834       ;
   835    835   
   836    836     /*
................................................................................
  1464   1464   ** on error.
  1465   1465   **
  1466   1466   ** If payload is not NULL and resultCode is 0 then it is set as the
  1467   1467   ** "payload" property of the returned object.  If resultCode is 0 then
  1468   1468   ** it defaults to g.json.resultCode. If resultCode is (or defaults to)
  1469   1469   ** non-zero and payload is not NULL then this function calls
  1470   1470   ** cson_value_free(payload) and does not insert the payload into the
  1471         -** response. In either case, onwership of payload is transfered to (or
         1471  +** response. In either case, ownership of payload is transfered to (or
  1472   1472   ** shared with, if the caller holds a reference) this function.
  1473   1473   **
  1474   1474   ** pMsg is an optional message string property (resultText) of the
  1475   1475   ** response. If resultCode is non-0 and pMsg is NULL then
  1476   1476   ** json_err_cstr() is used to get the error string. The caller may
  1477   1477   ** provide his own or may use an empty string to suppress the
  1478   1478   ** resultText property.
................................................................................
  1535   1535         tmp = g.json.cmd.v;
  1536   1536         SET("$commandPath");
  1537   1537       }
  1538   1538       if(g.json.param.v){
  1539   1539         tmp = g.json.param.v;
  1540   1540         SET("$params");
  1541   1541       }
  1542         -    if(0){/*Only for debuggering, add some info to the response.*/
         1542  +    if(0){/*Only for debugging, add some info to the response.*/
  1543   1543         tmp = cson_value_new_integer( g.json.cmd.offset );
  1544   1544         cson_object_set( o, "cmd.offset", tmp );
  1545   1545         cson_object_set( o, "isCGI", cson_value_new_bool( g.isHTTP ) );
  1546   1546       }
  1547   1547     }
  1548   1548   
  1549   1549     if(HAS_TIMER){
................................................................................
  1550   1550       /* This is, philosophically speaking, not quite the right place
  1551   1551          for ending the timer, but this is the one function which all of
  1552   1552          the JSON exit paths use (and they call it after processing,
  1553   1553          just before they end).
  1554   1554       */
  1555   1555       double span;
  1556   1556       span = END_TIMER;
  1557         -    /* i'm actually seeing sub-ms runtimes in some tests, but a time of
         1557  +    /* I'm actually seeing sub-ms runtimes in some tests, but a time of
  1558   1558          0 is "just wrong", so we'll bump that up to 1ms.
  1559   1559       */
  1560   1560       cson_object_set(o,"procTimeMs", cson_value_new_integer((cson_int_t)((span>1.0)?span:1)));
  1561   1561     }
  1562   1562     if(g.json.warnings){
  1563   1563       tmp = cson_array_value(g.json.warnings);
  1564   1564       SET("warnings");
................................................................................
  2182   2182       ++g.json.dispatchDepth;
  2183   2183       return (*def->func)();
  2184   2184     }
  2185   2185   }
  2186   2186   
  2187   2187   
  2188   2188   /*
  2189         -** Impl of /json/rebuild. Requires admin previleges.
         2189  +** Impl of /json/rebuild. Requires admin privileges.
  2190   2190   */
  2191   2191   static cson_value * json_page_rebuild(){
  2192   2192     if( !g.perm.Admin ){
  2193   2193       json_set_err(FSL_JSON_E_DENIED,"Requires 'a' privileges.");
  2194   2194       return NULL;
  2195   2195     }else{
  2196   2196     /* Reminder: the db_xxx() ops "should" fail via the fossil core
................................................................................
  2355   2355   **
  2356   2356   ** In CLI mode, the -R REPO common option is supported. Due to limitations
  2357   2357   ** in the argument dispatching code, any -FLAGS must come after the final
  2358   2358   ** sub- (or subsub-) command.
  2359   2359   **
  2360   2360   ** The commands include:
  2361   2361   **
  2362         -**   anonymousPassord
         2362  +**   anonymousPassword
  2363   2363   **   artifact
  2364   2364   **   branch
  2365   2365   **   cap
  2366   2366   **   config
  2367   2367   **   diff
  2368   2368   **   dir
  2369   2369   **   g

Changes to src/json_detail.h.

   115    115   ** responsible for handling one JSON request/command and/or
   116    116   ** dispatching to sub-commands.
   117    117   **
   118    118   ** By the time the callback is called, json_page_top() (HTTP mode) or
   119    119   ** json_cmd_top() (CLI mode) will have set up the JSON-related
   120    120   ** environment. Implementations may generate a "result payload" of any
   121    121   ** JSON type by returning its value from this function (ownership is
   122         -** tranferred to the caller). On error they should set
          122  +** transferred to the caller). On error they should set
   123    123   ** g.json.resultCode to one of the FossilJsonCodes values and return
   124    124   ** either their payload object or NULL. Note that NULL is a legal
   125    125   ** success value - it simply means the response will contain no
   126    126   ** payload. If g.json.resultCode is non-zero when this function
   127    127   ** returns then the top-level dispatcher will destroy any payload
   128    128   ** returned by this function and will output a JSON error response
   129    129   ** instead.
................................................................................
   131    131   ** All of the setup/response code is handled by the top dispatcher
   132    132   ** functions and the callbacks concern themselves only with:
   133    133   **
   134    134   ** a) Permissions checking (inspecting g.perm).
   135    135   ** b) generating a response payload (if applicable)
   136    136   ** c) Setting g.json's error state (if applicable). See json_set_err().
   137    137   **
   138         -** It is imperitive that NO callback functions EVER output ANYTHING to
          138  +** It is imperative that NO callback functions EVER output ANYTHING to
   139    139   ** stdout, as that will effectively corrupt any JSON output, and
   140    140   ** almost certainly will corrupt any HTTP response headers. Output
   141    141   ** sent to stderr ends up in my apache log, so that might be useful
   142         -** for debuggering in some cases, but no such code should be left
   143         -** enabled for non-debuggering builds.
          142  +** for debugging in some cases, but no such code should be left
          143  +** enabled for non-debugging builds.
   144    144   */
   145    145   typedef cson_value * (*fossil_json_f)();
   146    146   
   147    147   /*
   148    148   ** Holds name-to-function mappings for JSON page/command dispatching.
   149    149   **
   150    150   ** Internally we model page dispatching lists as arrays of these
................................................................................
   173    173     fossil_json_f func;
   174    174     /*
   175    175     ** Which mode(s) of execution does func() support:
   176    176     **
   177    177     ** <0 = CLI only, >0 = HTTP only, 0==both
   178    178     **
   179    179     ** Now that we can simulate POST in CLI mode, the distinction
   180         -  ** between them has disappeared in most (or all) cases, so 0 is the
          180  +  ** between them has disappeared in most (or all) cases, so 0 is
   181    181     ** the standard value.
   182    182     **
   183    183     ** 201207: this is not needed any more. We can get rid of it. Or
   184    184     ** keep it around in case it becomes useful again at some point.
   185    185     */
   186    186     char runMode;
   187    187   } JsonPageDef;
................................................................................
   206    206   /*
   207    207   ** A page/command dispatch helper for fossil_json_f() implementations.
   208    208   ** pages must be an array of JsonPageDef commands which we can
   209    209   ** dispatch. The final item in the array MUST have a NULL name
   210    210   ** element.
   211    211   **
   212    212   ** This function takes the command specified in
   213         -** json_comand_arg(1+g.json.dispatchDepth) and searches pages for a
          213  +** json_command_arg(1+g.json.dispatchDepth) and searches pages for a
   214    214   ** matching name. If found then that page's func() is called to fetch
   215    215   ** the payload, which is returned to the caller.
   216    216   **
   217    217   ** On error, g.json.resultCode is set to one of the FossilJsonCodes
   218    218   ** values and NULL is returned. If non-NULL is returned, ownership is
   219    219   ** transfered to the caller (but the g.json error state might still be
   220    220   ** set in that case, so the caller must check that or pass it on up
................................................................................
   249    249   **
   250    250   ** a) Not running in JSON mode (via json command or /json path).
   251    251   **
   252    252   ** b) We are running in JSON CLI mode, but no POST data has been fed
   253    253   ** in.
   254    254   **
   255    255   ** Whether or not we need to take args from CLI or POST data makes a
   256         -** difference in argument/parameter handling in many JSON rountines,
          256  +** difference in argument/parameter handling in many JSON routines,
   257    257   ** and thus this distinction.
   258    258   */
   259    259   char fossil_has_json();
   260    260   
   261    261   enum json_get_changed_files_flags {
   262    262       json_get_changed_files_ELIDE_PARENT = 1 << 0
   263    263   };
   264    264   
   265    265   #endif/*FOSSIL_JSON_DETAIL_H_INCLUDED*/
   266    266   #endif /* FOSSIL_ENABLE_JSON */

Changes to src/json_login.c.

   167    167          the expiry time is assigned. (Remember that JSON doesn't do
   168    168          unsigned int.)
   169    169   
   170    170          For non-anonymous users we could also simply query the
   171    171          user.cexpire db field after calling login_set_user_cookie(),
   172    172          but for anonymous we need to get the time when the cookie is
   173    173          set because anon does not get a db entry like normal users
   174         -       do. Anonyous cookies currently have a hard-coded lifetime in
          174  +       do. Anonymous cookies currently have a hard-coded lifetime in
   175    175          login_set_anon_cookie() (currently 6 hours), which we "should
   176    176          arguably" change to use the time configured for non-anonymous
   177    177          users (see login_set_user_cookie() for details).
   178    178       */
   179    179       return payload;
   180    180     }
   181    181   }
................................................................................
   184    184   ** Impl of /json/logout.
   185    185   **
   186    186   */
   187    187   cson_value * json_page_logout(){
   188    188     cson_value const *token = g.json.authToken;
   189    189       /* Remember that json_mode_bootstrap() replaces the login cookie
   190    190          with the JSON auth token if the request contains it. If the
   191         -       reqest is missing the auth token then this will fetch fossil's
          191  +       request is missing the auth token then this will fetch fossil's
   192    192          original cookie. Either way, it's what we want :).
   193    193   
   194    194          We require the auth token to avoid someone maliciously
   195    195          trying to log someone else out (not 100% sure if that
   196    196          would be possible, given fossil's hardened cookie, but
   197         -       i'll assume it would be for the time being).
          197  +       I'll assume it would be for the time being).
   198    198       */
   199    199       ;
   200    200     if(!token){
   201    201       g.json.resultCode = FSL_JSON_E_MISSING_AUTH;
   202    202     }else{
   203    203       login_clear_login_data();
   204    204       g.json.authToken = NULL /* memory is owned elsewhere.*/;

Changes to src/json_tag.c.

   283    283         "   coalesce(ecomment,comment) AS comment,"
   284    284         "   coalesce(euser,user) AS user,"
   285    285         "   CASE event.type"
   286    286         "     WHEN 'ci' THEN 'checkin'"
   287    287         "     WHEN 'w' THEN 'wiki'"
   288    288         "     WHEN 'e' THEN 'event'"
   289    289         "     WHEN 't' THEN 'ticket'"
   290         -      "     ELSE 'WTF?'"
          290  +      "     ELSE 'unknown'"
   291    291         "   END"
   292    292         "   AS eventType"
   293    293         " FROM event, blob"
   294    294         " WHERE blob.rid=event.objid"
   295    295         ;
   296    296       /* FIXME: re-add tags. */
   297    297       db_prepare(&q,

Changes to src/json_timeline.c.

   627    627       int const rid = db_column_int(&q,0);
   628    628       Manifest * pMan = NULL;
   629    629       cson_value * rowV;
   630    630       cson_object * row;
   631    631       /*printf("rid=%d\n",rid);*/
   632    632       pMan = manifest_get(rid, CFTYPE_TICKET);
   633    633       if(!pMan){
   634         -      /* this might be an attachment? i'm seeing this with
          634  +      /* this might be an attachment? I'm seeing this with
   635    635            rid 15380, uuid [1292fef05f2472108].
   636    636   
   637    637            /json/artifact/1292fef05f2472108 returns not-found,
   638    638            probably because we haven't added artifact/ticket
   639    639            yet(?).
   640    640         */
   641    641         continue;

Changes to src/json_wiki.c.

   208    208                                                        char contentFormat ){
   209    209     if(!zSymname || !*zSymname){
   210    210       return json_get_wiki_page_by_name(zPageName, contentFormat);
   211    211     }else{
   212    212       int rid = symbolic_name_to_rid( zSymname ? zSymname : zPageName, "w" );
   213    213       if(rid<0){
   214    214         json_set_err(FSL_JSON_E_AMBIGUOUS_UUID,
   215         -                   "UUID [%s] is ambiguious.", zSymname);
          215  +                   "UUID [%s] is ambiguous.", zSymname);
   216    216         return NULL;
   217    217       }else if(rid==0){
   218    218         json_set_err(FSL_JSON_E_RESOURCE_NOT_FOUND,
   219    219                      "UUID [%s] does not resolve to a wiki page.", zSymname);
   220    220         return NULL;
   221    221       }else{
   222    222         return json_get_wiki_page_by_rid(rid, contentFormat);

Changes to src/login.c.

   352    352                      login_cookie_path(), -86400);
   353    353       db_multi_exec("UPDATE user SET cookie=NULL, ipaddr=NULL, "
   354    354                     "  cexpire=0 WHERE uid=%d"
   355    355                     "  AND login NOT IN ('anonymous','nobody',"
   356    356                     "  'developer','reader')", g.userUid);
   357    357       cgi_replace_parameter(cookie, NULL)
   358    358         /* At the time of this writing, cgi_replace_parameter() was
   359         -      ** "NULL-value-safe", and i'm hoping the NULL doesn't cause any
          359  +      ** "NULL-value-safe", and I'm hoping the NULL doesn't cause any
   360    360         ** downstream problems here. We could alternately use "" here.
   361    361         */
   362    362         ;
   363    363     }
   364    364   }
   365    365   
   366    366   /*
................................................................................
   465    465   void login_page(void){
   466    466     const char *zUsername, *zPasswd;
   467    467     const char *zNew1, *zNew2;
   468    468     const char *zAnonPw = 0;
   469    469     const char *zGoto = P("g");
   470    470     int anonFlag;
   471    471     char *zErrMsg = "";
   472         -  int uid;                     /* User id loged in user */
          472  +  int uid;                     /* User id logged in user */
   473    473     char *zSha1Pw;
   474    474     const char *zIpAddr;         /* IP address of requestor */
   475    475   
   476    476     login_check_credentials();
   477    477     sqlite3_create_function(g.db, "constant_time_cmp", 2, SQLITE_UTF8, 0,
   478    478   		  constant_time_cmp_function, 0, 0);
   479    479     zUsername = P("u");
................................................................................
   758    758       "   AND constant_time_cmp(cookie,%Q)=0",
   759    759       zLogin, zRemoteAddr, zCookie
   760    760     );
   761    761     return uid;
   762    762   }
   763    763   
   764    764   /*
   765         -** This routine examines the login cookie to see if it exists and and
          765  +** This routine examines the login cookie to see if it exists and
   766    766   ** is valid.  If the login cookie checks out, it then sets global
   767    767   ** variables appropriately.  Global variables set include g.userUid
   768    768   ** and g.zLogin and the g.perm family of permission booleans.
   769    769   **
   770    770   ** If the 
   771    771   */
   772    772   void login_check_credentials(void){
................................................................................
  1158   1158   */
  1159   1159   void login_insert_csrf_secret(void){
  1160   1160     @ <input type="hidden" name="csrf" value="%s(g.zCsrfToken)" />
  1161   1161   }
  1162   1162   
  1163   1163   /*
  1164   1164   ** Before using the results of a form, first call this routine to verify
  1165         -** that ths Anti-CSRF token is present and is valid.  If the Anti-CSRF token
         1165  +** that this Anti-CSRF token is present and is valid.  If the Anti-CSRF token
  1166   1166   ** is missing or is incorrect, that indicates a cross-site scripting attach
  1167   1167   ** so emits an error message and abort.
  1168   1168   */
  1169   1169   void login_verify_csrf_secret(void){
  1170   1170     if( g.okCsrf ) return;
  1171   1171     if( fossil_strcmp(P("csrf"), g.zCsrfToken)==0 ){
  1172   1172       g.okCsrf = 1;
................................................................................
  1339   1339       "   AND name <> 'peer-repo-%q'"
  1340   1340       " ORDER BY +value",
  1341   1341       zSelfCode
  1342   1342     );
  1343   1343     while( db_step(&q)==SQLITE_ROW ){
  1344   1344       const char *zRepoName = db_column_text(&q, 1);
  1345   1345       if( file_size(zRepoName)<0 ){
  1346         -      /* Silently remove non-existant repositories from the login group. */
         1346  +      /* Silently remove non-existent repositories from the login group. */
  1347   1347         const char *zLabel = db_column_text(&q, 0);
  1348   1348         db_multi_exec(
  1349   1349            "DELETE FROM config WHERE name GLOB 'peer-*-%q'",
  1350   1350            &zLabel[10]
  1351   1351         );
  1352   1352         continue;
  1353   1353       }

Changes to src/main.c.

   148    148     FILE *httpIn;           /* Accept HTTP input from here */
   149    149     FILE *httpOut;          /* Send HTTP output here */
   150    150     int xlinkClusterOnly;   /* Set when cloning.  Only process clusters */
   151    151     int fTimeFormat;        /* 1 for UTC.  2 for localtime.  0 not yet selected */
   152    152     int *aCommitFile;       /* Array of files to be committed */
   153    153     int markPrivate;        /* All new artifacts are private if true */
   154    154     int clockSkewSeen;      /* True if clocks on client and server out of sync */
   155         -  char isHTTP;            /* True if erver/CGI modes, else assume CLI. */
          155  +  char isHTTP;            /* True if server/CGI modes, else assume CLI. */
   156    156     char javascriptHyperlink; /* If true, set href= using script, not HTML */
   157    157   
   158    158     int urlIsFile;          /* True if a "file:" url */
   159    159     int urlIsHttps;         /* True if a "https:" url */
   160    160     int urlIsSsh;           /* True if an "ssh:" url */
   161    161     char *urlName;          /* Hostname for http: or filename for file: */
   162    162     char *urlHostname;      /* The HOST: parameter on http headers */
................................................................................
  1524   1524       ** will use g.zExtra directly.
  1525   1525       ** Reminder: the login mechanism uses 'name' differently, and may
  1526   1526       ** eventually have a problem/collision with this.
  1527   1527       **
  1528   1528       ** Disabled by stephan when running in JSON mode because this
  1529   1529       ** particular parameter name is very common and i have had no end
  1530   1530       ** of grief with this handling. The JSON API never relies on the
  1531         -    ** handling below, and by disabling it in JSON mode i can remove
         1531  +    ** handling below, and by disabling it in JSON mode I can remove
  1532   1532       ** lots of special-case handling in several JSON handlers.
  1533   1533       */
  1534   1534   #ifdef FOSSIL_ENABLE_JSON
  1535   1535       if(!g.json.isJsonMode){
  1536   1536   #endif
  1537   1537         dehttpize(g.zExtra);
  1538   1538         cgi_set_parameter_nocopy("name", g.zExtra);
................................................................................
  1680   1680   ** inserted.  Paint an error page if no match is found.
  1681   1681   **
  1682   1682   ** If there is a line of the form:
  1683   1683   **
  1684   1684   **    redirect: * URL
  1685   1685   **
  1686   1686   ** Then a redirect is made to URL if no match is found.  Otherwise a
  1687         -** very primative error message is returned.
         1687  +** very primitive error message is returned.
  1688   1688   */
  1689   1689   void redirect_web_page(int nRedirect, char **azRedirect){
  1690   1690     int i;                             /* Loop counter */
  1691   1691     const char *zNotFound = 0;         /* Not found URL */
  1692   1692     const char *zName = P("name");
  1693   1693     set_base_url(0);
  1694   1694     if( zName==0 ){
................................................................................
  1882   1882   ** within an open checkout.
  1883   1883   **
  1884   1884   ** The "ui" command automatically starts a web browser after initializing
  1885   1885   ** the web server.  The "ui" command also binds to 127.0.0.1 and so will
  1886   1886   ** only process HTTP traffic from the local machine.
  1887   1887   **
  1888   1888   ** In the "server" command, the REPOSITORY can be a directory (aka folder)
  1889         -** that contains one or more rspositories with names ending in ".fossil".
         1889  +** that contains one or more repositories with names ending in ".fossil".
  1890   1890   ** In that case, the first element of the URL is used to select among the
  1891   1891   ** various repositories.
  1892   1892   **
  1893   1893   ** By default, the "ui" command provides full administrative access without
  1894   1894   ** having to log in.  This can be disabled by setting turning off the
  1895   1895   ** "localauth" setting.  Automatic login for the "server" command is available
  1896   1896   ** if the --localauth option is present and the "localauth" setting is off

Changes to src/makeheaders.c.

   745    745   #define TT_Comment         4   /* Either C or C++ style comment */
   746    746   #define TT_Number          5   /* Any numeric constant */
   747    747   #define TT_String          6   /* String or character constants. ".." or '.' */
   748    748   #define TT_Braces          7   /* All text between { and a matching } */
   749    749   #define TT_EOF             8   /* End of file */
   750    750   #define TT_Error           9   /* An error condition */
   751    751   #define TT_BlockComment    10  /* A C-Style comment at the left margin that
   752         -                                * spans multple lines */
          752  +                                * spans multiple lines */
   753    753   #define TT_Other           0   /* None of the above */
   754    754   
   755    755   /*
   756    756   ** Get a single low-level token from the input file.  Update the
   757    757   ** file pointer so that it points to the first character beyond the
   758    758   ** token.
   759    759   **
................................................................................
  1484   1484   
  1485   1485     /*
  1486   1486     ** At this point, we know we have a type declaration that is bounded
  1487   1487     ** by pList and pEnd and has the name pName.
  1488   1488     */
  1489   1489   
  1490   1490     /*
  1491         -  ** If the braces are followed immedately by a semicolon, then we are
         1491  +  ** If the braces are followed immediately by a semicolon, then we are
  1492   1492     ** dealing a type declaration only.  There is not variable definition
  1493   1493     ** following the type declaration.  So reset...
  1494   1494     */
  1495   1495     if( pEnd->pNext==0 || pEnd->pNext->zText[0]==';' ){
  1496   1496       *pReset = ';';
  1497   1497       need_to_collapse = 0;
  1498   1498     }else{
................................................................................
  1880   1880   ** definition or a function prototype.  Return TRUE if we are dealing
  1881   1881   ** with a variable defintion and FALSE for a prototype.
  1882   1882   **
  1883   1883   ** pEnd is the token that ends the object.  It can be either a ';' or
  1884   1884   ** a '='.  If it is '=', then assume we have a variable definition.
  1885   1885   **
  1886   1886   ** If pEnd is ';', then the determination is more difficult.  We have
  1887         -** to search for an occurance of an ID followed immediately by '('.
         1887  +** to search for an occurrence of an ID followed immediately by '('.
  1888   1888   ** If found, we have a prototype.  Otherwise we are dealing with a
  1889   1889   ** variable definition.
  1890   1890   */
  1891   1891   static int isVariableDef(Token *pFirst, Token *pEnd){
  1892   1892     if( pEnd && pEnd->zText[0]=='=' && 
  1893   1893       (pEnd->pPrev->nText!=8 || strncmp(pEnd->pPrev->zText,"operator",8)!=0)
  1894   1894     ){
................................................................................
  2634   2634         DeclSetProperty(p,DP_Forward|DP_Declared|DP_Flag);
  2635   2635       }else{
  2636   2636         DeclClearProperty(p,DP_Flag);
  2637   2637       }
  2638   2638     }
  2639   2639   
  2640   2640     /*
  2641         -  ** Call ScanText() recusively (this routine is called from ScanText())
         2641  +  ** Call ScanText() recursively (this routine is called from ScanText())
  2642   2642     ** to include declarations required to come before these declarations.
  2643   2643     */
  2644   2644     for(p=pDecl; p; p=p->pSameName){
  2645   2645       if( DeclHasProperty(p,DP_Flag) ){
  2646   2646         if( p->zDecl[0]=='#' ){
  2647   2647           ScanText(&p->zDecl[1],pState);
  2648   2648         }else{
................................................................................
  2758   2758       }
  2759   2759     }
  2760   2760     /* printf("END SCANTEXT\n"); */
  2761   2761   }
  2762   2762   
  2763   2763   /*
  2764   2764   ** Provide a full declaration to any object which so far has had only
  2765         -** a foward declaration.
         2765  +** a forward declaration.
  2766   2766   */
  2767   2767   static void CompleteForwardDeclarations(GenState *pState){
  2768   2768     Decl *pDecl;
  2769   2769     int progress;
  2770   2770   
  2771   2771     do{
  2772   2772       progress = 0;

Changes to src/manifest.c.

   448    448           p->zAttachTarget = zTarget;
   449    449           break;
   450    450         }
   451    451   
   452    452         /*
   453    453         **    B <uuid>
   454    454         **
   455         -      ** A B-line gives the UUID for the baselinen of a delta-manifest.
          455  +      ** A B-line gives the UUID for the baseline of a delta-manifest.
   456    456         */
   457    457         case 'B': {
   458    458           if( p->zBaseline ) SYNTAX("more than one B-card");
   459    459           p->zBaseline = next_token(&x, &sz);
   460    460           if( p->zBaseline==0 ) SYNTAX("missing UUID on B-card");
   461    461           if( sz!=UUID_SIZE || !validate16(p->zBaseline, UUID_SIZE) ){
   462    462             SYNTAX("invalid UUID on B-card");
................................................................................
  1152   1152   /*
  1153   1153   ** Add a single entry to the mlink table.  Also add the filename to
  1154   1154   ** the filename table if it is not there already.
  1155   1155   */
  1156   1156   static void add_one_mlink(
  1157   1157     int mid,                  /* The record ID of the manifest */
  1158   1158     const char *zFromUuid,    /* UUID for the mlink.pid. "" to add file */
  1159         -  const char *zToUuid,      /* UUID for the mlink.fid. "" to delele */
         1159  +  const char *zToUuid,      /* UUID for the mlink.fid. "" to delete */
  1160   1160     const char *zFilename,    /* Filename */
  1161   1161     const char *zPrior,       /* Previous filename. NULL if unchanged */
  1162   1162     int isPublic,             /* True if mid is not a private manifest */
  1163   1163     int mperm                 /* 1: exec, 2: symlink */
  1164   1164   ){
  1165   1165     int fnid, pfnid, pid, fid;
  1166   1166     static Stmt s1;
................................................................................
  1339   1339       manifest_destroy(*ppOther);
  1340   1340       return;
  1341   1341     }
  1342   1342     isPublic = !content_is_private(cid);
  1343   1343   
  1344   1344     /* Try to make the parent manifest a delta from the child, if that
  1345   1345     ** is an appropriate thing to do.  For a new baseline, make the 
  1346         -  ** previoius baseline a delta from the current baseline.
         1346  +  ** previous baseline a delta from the current baseline.
  1347   1347     */
  1348   1348     if( (pParent->zBaseline==0)==(pChild->zBaseline==0) ){
  1349   1349       content_deltify(pid, cid, 0); 
  1350   1350     }else if( pChild->zBaseline==0 && pParent->zBaseline!=0 ){
  1351   1351       content_deltify(pParent->pBaseline->rid, cid, 0);
  1352   1352     }
  1353   1353   
................................................................................
  1732   1732         if( p->aTag[i].zUuid ){
  1733   1733           tid = uuid_to_rid(p->aTag[i].zUuid, 1);
  1734   1734         }else{
  1735   1735           tid = rid;
  1736   1736         }
  1737   1737         if( tid ){
  1738   1738           switch( p->aTag[i].zName[0] ){
  1739         -          case '-':  type = 0;  break;  /* Cancel prior occurances */
         1739  +          case '-':  type = 0;  break;  /* Cancel prior occurrences */
  1740   1740             case '+':  type = 1;  break;  /* Apply to target only */
  1741   1741             case '*':  type = 2;  break;  /* Propagate to descendants */
  1742   1742             default:
  1743   1743               fossil_fatal("unknown tag type in manifest: %s", p->aTag);
  1744   1744               return 0;
  1745   1745           }
  1746   1746           tag_insert(&p->aTag[i].zName[1], type, p->aTag[i].zValue, 

Changes to src/md5.c.

   364    364     }
   365    365     return zOut;
   366    366   }
   367    367   
   368    368   
   369    369   /*
   370    370   ** Compute the MD5 checksum of a file on disk.  Store the resulting
   371         -** checksum in the blob pCksum.  pCksum is assumed to be ininitialized.
          371  +** checksum in the blob pCksum.  pCksum is assumed to be initialized.
   372    372   **
   373    373   ** Return the number of errors.
   374    374   */
   375    375   int md5sum_file(const char *zFilename, Blob *pCksum){
   376    376     FILE *in;
   377    377     MD5Context ctx;
   378    378     unsigned char zResult[16];

Changes to src/merge3.c.

    81     81   ** The aC[] array contains triples of integers.  Within each triple, the
    82     82   ** elements are:
    83     83   **
    84     84   **   (0)  The number of lines to copy
    85     85   **   (1)  The number of lines to delete
    86     86   **   (2)  The number of liens to insert
    87     87   **
    88         -** Suppose we want to advance over sz lines of the originl file.  This routine
           88  +** Suppose we want to advance over sz lines of the original file.  This routine
    89     89   ** returns true if that advance would land us on a copy operation.  It
    90     90   ** returns false if the advance would end on a delete.
    91     91   */
    92     92   static int ends_at_CPY(int *aC, int sz){
    93     93     while( sz>0 && (aC[0]>0 || aC[1]>0 || aC[2]>0) ){
    94     94       if( aC[0]>=sz ) return 1;
    95     95       sz -= aC[0];

Changes to src/mkindex.c.

    44     44   **
    45     45   ** Comment text following COMMAND: through the end of the comment is
    46     46   ** understood to be help text for the command specified.  This help
    47     47   ** text is accumulated and a table containing the text for each command
    48     48   ** is generated.  That table is used implement the "fossil help" command
    49     49   ** and the "/help" HTTP method.
    50     50   **
    51         -** Multiple occurrances of WEBPAGE: or COMMAND: (but not both) can appear
           51  +** Multiple occurrences of WEBPAGE: or COMMAND: (but not both) can appear
    52     52   ** before each function name.  In this way, webpages and commands can
    53     53   ** have aliases.
    54     54   */
    55     55   #include <stdio.h>
    56     56   #include <stdlib.h>
    57     57   #include <ctype.h>
    58     58   #include <assert.h>

Changes to src/name.c.

    60     60   ** The following additional forms are available in local checkouts:
    61     61   **
    62     62   **   *  "current"
    63     63   **   *  "prev" or "previous"
    64     64   **   *  "next"
    65     65   **
    66     66   ** Return the RID of the matching artifact.  Or return 0 if the name does not
    67         -** match any known object.  Or return -1 if the name is ambiguious.
           67  +** match any known object.  Or return -1 if the name is ambiguous.
    68     68   **
    69     69   ** The zType parameter specifies the type of artifact: ci, t, w, e, g. 
    70     70   ** If zType is NULL or "" or "*" then any type of artifact will serve.
    71     71   ** zType is "ci" in most use cases since we are usually searching for
    72     72   ** a check-in.
    73     73   */
    74     74   int symbolic_name_to_rid(const char *zTag, const char *zType){
................................................................................
   375    375     return name_to_typed_rid(zName, "*");
   376    376   }
   377    377   
   378    378   /*
   379    379   ** WEBPAGE: ambiguous
   380    380   ** URL: /ambiguous?name=UUID&src=WEBPAGE
   381    381   ** 
   382         -** The UUID given by the name paramager is ambiguous.  Display a page
          382  +** The UUID given by the name parameter is ambiguous.  Display a page
   383    383   ** that shows all possible choices and let the user select between them.
   384    384   */
   385    385   void ambiguous_page(void){
   386    386     Stmt q;
   387    387     const char *zName = P("name");  
   388    388     const char *zSrc = P("src");
   389    389     char *z;

Changes to src/printf.c.

    22     22   
    23     23   /*
    24     24   ** Conversion types fall into various categories as defined by the
    25     25   ** following enumeration.
    26     26   */
    27     27   #define etRADIX       1 /* Integer types.  %d, %x, %o, and so forth */
    28     28   #define etFLOAT       2 /* Floating point.  %f */
    29         -#define etEXP         3 /* Exponentional notation. %e and %E */
           29  +#define etEXP         3 /* Exponential notation. %e and %E */
    30     30   #define etGENERIC     4 /* Floating or exponential, depending on exponent. %g */
    31     31   #define etSIZE        5 /* Return number of characters processed so far. %n */
    32     32   #define etSTRING      6 /* Strings. %s */
    33     33   #define etDYNSTRING   7 /* Dynamically allocated strings. %z */
    34     34   #define etPERCENT     8 /* Percent symbol. %% */
    35     35   #define etCHARX       9 /* Characters. %c */
    36     36   #define etERROR      10 /* Used to indicate no such conversion type */

Changes to src/rebuild.c.

   203    203   ** rid with content pBase and all of its descendants.  This
   204    204   ** routine clears the content buffer before returning.
   205    205   **
   206    206   ** If the zFNameFormat variable is set, then this routine is
   207    207   ** called to run "fossil deconstruct" instead of the usual
   208    208   ** "fossil rebuild".  In that case, instead of rebuilding the
   209    209   ** cross-referencing information, write the file content out
   210         -** to the approriate directory.
          210  +** to the appropriate directory.
   211    211   **
   212    212   ** In both cases, this routine automatically recurses to process
   213    213   ** other artifacts that are deltas off of the current artifact.
   214    214   ** This is the most efficient way to extract all of the original
   215    215   ** artifact content from the Fossil repository.
   216    216   */
   217    217   static void rebuild_step(int rid, int size, Blob *pBase){
................................................................................
   315    315     zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid);
   316    316     if( zUuid==0 ) return;
   317    317     tag_add_artifact("sym-", "trunk", zUuid, 0, 2, 0, 0);
   318    318     tag_add_artifact("", "branch", zUuid, "trunk", 2, 0, 0);
   319    319   }
   320    320   
   321    321   /*
   322         -** Core function to rebuild the infomration in the derived tables of a
          322  +** Core function to rebuild the information in the derived tables of a
   323    323   ** fossil repository from the blobs. This function is shared between
   324    324   ** 'rebuild_database' ('rebuild') and 'reconstruct_cmd'
   325    325   ** ('reconstruct'), both of which have to regenerate this information
   326    326   ** from scratch.
   327    327   **
   328    328   ** If the randomize parameter is true, then the BLOBs are deliberately
   329    329   ** extracted in a random order.  This feature is used to test the
................................................................................
   950    950     zPrefixOpt=find_option("prefixlength","L",1);
   951    951     if( !zPrefixOpt ){
   952    952       prefixLength = 2;
   953    953     }else{
   954    954       if( zPrefixOpt[0]>='0' && zPrefixOpt[0]<='9' && !zPrefixOpt[1] ){
   955    955         prefixLength = (int)(*zPrefixOpt-'0');
   956    956       }else{
   957         -      fossil_fatal("N(%s) is not a a valid prefix length!",zPrefixOpt);
          957  +      fossil_fatal("N(%s) is not a valid prefix length!",zPrefixOpt);
   958    958       }
   959    959     }
   960    960     /* open repository and open query for all artifacts */
   961    961     db_find_and_open_repository(OPEN_ANY_SCHEMA, 0);
   962    962     privateFlag = find_option("private",0,0)!=0;
   963    963     verify_all_options();
   964    964     /* check number of arguments */
................................................................................
   972    972     }
   973    973   #ifndef _WIN32
   974    974     if( file_access(zDestDir, W_OK) ){
   975    975       fossil_fatal("DESTINATION(%s) is not writeable!",zDestDir);
   976    976     }
   977    977   #else
   978    978     /* write access on windows is not checked, errors will be
   979         -  ** dected on blob_write_to_file
          979  +  ** detected on blob_write_to_file
   980    980     */
   981    981   #endif
   982    982     if( prefixLength ){
   983    983       zFNameFormat = mprintf("%s/%%.%ds/%%s",zDestDir,prefixLength);
   984    984     }else{
   985    985       zFNameFormat = mprintf("%s/%%s",zDestDir);
   986    986     }

Changes to src/report.c.

   116    116       return mprintf("%d", atoi(zOrig));
   117    117     }
   118    118     return "";
   119    119   }
   120    120   
   121    121   /*
   122    122   ** Remove blank lines from the beginning of a string and
   123         -** all whitespace from the end. Removes whitespace preceeding a NL,
          123  +** all whitespace from the end. Removes whitespace preceding a NL,
   124    124   ** which also converts any CRNL sequence into a single NL.
   125    125   */
   126    126   char *remove_blank_lines(const char *zOrig){
   127    127     int i, j, n;
   128    128     char *z;
   129    129     for(i=j=0; fossil_isspace(zOrig[i]); i++){ if( zOrig[i]=='\n' ) j = i+1; }
   130    130     n = strlen(&zOrig[j]);
................................................................................
  1090   1090       fossil_print("%s", i<nArg-1 ? (zSep?zSep:"\t") : "\n");
  1091   1091     }
  1092   1092     return 0;
  1093   1093   }
  1094   1094   
  1095   1095   /*
  1096   1096   ** Generate a report.  The rn query parameter is the report number.
  1097         -** The output is written to stdout as flat file. The zFilter paramater
         1097  +** The output is written to stdout as flat file. The zFilter parameter
  1098   1098   ** is a full WHERE-condition.
  1099   1099   */
  1100   1100   void rptshow( 
  1101   1101       const char *zRep,
  1102   1102       const char *zSepIn,
  1103   1103       const char *zFilter,
  1104   1104       tTktShowEncoding enc

Changes to src/search.c.

    91     91   };
    92     92   
    93     93   /*
    94     94   ** Compare a search pattern against an input string and return a score.
    95     95   **
    96     96   ** Scoring:
    97     97   **   *  All terms must match at least once or the score is zero
    98         -**   *  10 bonus points if the first occurrance is an exact match
           98  +**   *  10 bonus points if the first occurrence is an exact match
    99     99   **   *  1 additional point for each subsequent match of the same word
   100    100   **   *  Extra points of two consecutive words of the pattern are consecutive
   101    101   **      in the document
   102    102   */
   103    103   int search_score(Search *p, const char *zDoc){
   104    104     int iPrev = 999;
   105    105     int score = 10;

Changes to src/setup.c.

   307    307     int uid, i;
   308    308     int higherUser = 0;  /* True if user being edited is SETUP and the */
   309    309                          /* user doing the editing is ADMIN.  Disallow editing */
   310    310     char *inherit[128];
   311    311     int a[128];
   312    312     char *oa[128];
   313    313   
   314         -  /* Must have ADMIN privleges to access this page
          314  +  /* Must have ADMIN privileges to access this page
   315    315     */
   316    316     login_check_credentials();
   317    317     if( !g.perm.Admin ){ login_needed(); return; }
   318    318   
   319    319     /* Check to see if an ADMIN user is trying to edit a SETUP account.
   320    320     ** Don't allow that.
   321    321     */

Changes to src/sha1.c.

   269    269     }
   270    270     return zOut;
   271    271   }
   272    272   
   273    273   
   274    274   /*
   275    275   ** Compute the SHA1 checksum of a file on disk.  Store the resulting
   276         -** checksum in the blob pCksum.  pCksum is assumed to be ininitialized.
          276  +** checksum in the blob pCksum.  pCksum is assumed to be initialized.
   277    277   **
   278    278   ** Return the number of errors.
   279    279   */
   280    280   int sha1sum_file(const char *zFilename, Blob *pCksum){
   281    281     FILE *in;
   282    282     SHA1Context ctx;
   283    283     unsigned char zResult[20];

Changes to src/shell.c.

   302    302     }
   303    303     return *z==0;
   304    304   }
   305    305   
   306    306   /*
   307    307   ** A global char* and an SQL function to access its current value 
   308    308   ** from within an SQL statement. This program used to use the 
   309         -** sqlite_exec_printf() API to substitue a string into an SQL statement.
          309  +** sqlite_exec_printf() API to substitute a string into an SQL statement.
   310    310   ** The correct way to do this with sqlite3 is to use the bind API, but
   311    311   ** since the shell is built around the callback paradigm it would be a lot
   312    312   ** of work. Instead just use this hack, which is quite harmless.
   313    313   */
   314    314   static const char *zShellStatic = 0;
   315    315   static void shellstaticFunc(
   316    316     sqlite3_context *context,
................................................................................
  1146   1146         if( !pStmt ){
  1147   1147           /* this happens for a comment or white-space */
  1148   1148           zSql = zLeftover;
  1149   1149           while( IsSpace(zSql[0]) ) zSql++;
  1150   1150           continue;
  1151   1151         }
  1152   1152   
  1153         -      /* save off the prepared statment handle and reset row count */
         1153  +      /* save off the prepared statement handle and reset row count */
  1154   1154         if( pArg ){
  1155   1155           pArg->pStmt = pStmt;
  1156   1156           pArg->cnt = 0;
  1157   1157         }
  1158   1158   
  1159   1159         /* echo the sql statement if echo on */
  1160   1160         if( pArg && pArg->echoOn ){

Changes to src/sqlcmd.c.

   101    101       sqlite3_result_blob(context, pOut, nOut, sqlite3_free);
   102    102     }else{
   103    103       sqlite3_result_error(context, "input is not zlib compressed", -1);
   104    104     }
   105    105   }
   106    106   
   107    107   /*
   108         -** This is the "automatic extensionn" initializer that runs right after
          108  +** This is the "automatic extension" initializer that runs right after
   109    109   ** the connection to the repository database is opened.  Set up the
   110    110   ** database connection to be more useful to the human operator.
   111    111   */
   112    112   static int sqlcmd_autoinit(
   113    113     sqlite3 *db,
   114    114     const char **pzErrMsg,
   115    115     const void *notUsed

Changes to src/style.c.

   698    698       @   color: red;
   699    699     },
   700    700     { "span.note",
   701    701       "format for leading text for notes",
   702    702       @   font-weight: bold;
   703    703     },
   704    704     { "span.textareaLabel",
   705         -    "format for textare labels",
          705  +    "format for textarea labels",
   706    706       @   font-weight: bold;
   707    707     },
   708    708     { "table.usetupLayoutTable",
   709    709       "format for the user setup layout table",
   710    710       @   outline-style: none;
   711    711       @   padding: 0;
   712    712       @   margin: 25px;
................................................................................
   798    798       "selected lines of text within a linenumbered artifact display",
   799    799       @   font-weight: bold;
   800    800       @   color: blue;
   801    801       @   background-color: #d5d5ff;
   802    802       @   border: 1px blue solid;
   803    803     },
   804    804     { "p.missingPriv",
   805         -    "format for missing priviliges note on user setup page",
          805  +    "format for missing privileges note on user setup page",
   806    806       @  color: blue;
   807    807     },
   808    808     { "span.wikiruleHead",
   809    809       "format for leading text in wikirules definitions",
   810    810       @   font-weight: bold;
   811    811     },
   812    812     { "td.tktDspLabel",
................................................................................
   932    932       @   color: #0000ff;
   933    933     },
   934    934     { "span.diffln",
   935    935       "line numbers in a diff",
   936    936       @   color: #a0a0a0;
   937    937     },
   938    938     { "span.modpending",
   939         -    "Moderation Pending message on timelin",
          939  +    "Moderation Pending message on timeline",
   940    940       @   color: #b03800;
   941    941       @   font-style: italic;
   942    942     },
   943    943     { 0,
   944    944       0,
   945    945       0
   946    946     }

Changes to src/tag.c.

   339    339   ** Run various subcommands to control tags and properties
   340    340   **
   341    341   **     %fossil tag add ?--raw? ?--propagate? TAGNAME CHECK-IN ?VALUE?
   342    342   **
   343    343   **         Add a new tag or property to CHECK-IN. The tag will
   344    344   **         be usable instead of a CHECK-IN in commands such as
   345    345   **         update and merge.  If the --propagate flag is present,
   346         -**         the tag value propages to all descendants of CHECK-IN
          346  +**         the tag value propagates to all descendants of CHECK-IN
   347    347   **
   348    348   **     %fossil tag cancel ?--raw? TAGNAME CHECK-IN
   349    349   **
   350    350   **         Remove the tag TAGNAME from CHECK-IN, and also remove
   351    351   **         the propagation of the tag to any descendants.
   352    352   **
   353    353   **     %fossil tag find ?--raw? ?--type TYPE? TAGNAME

Changes to src/th.c.

    75     75   ** is stored in Th_Variable.nRef.
    76     76   **
    77     77   ** For scalar variables, Th_Variable.zData is never 0. Th_Variable.nData
    78     78   ** stores the number of bytes in the value pointed to by zData.
    79     79   **
    80     80   ** For an array variable, Th_Variable.zData is 0 and pHash points to
    81     81   ** a hash table mapping between array key name (a th1 string) and
    82         -** a the pointer to the Th_Variable structure holding the scalar
           82  +** a pointer to the Th_Variable structure holding the scalar
    83     83   ** value.
    84     84   */
    85     85   struct Th_Variable {
    86     86     int nRef;                   /* Number of references to this structure */
    87     87     int nData;                  /* Number of bytes at Th_Variable.zData */
    88     88     char *zData;               /* Data for scalar variables */
    89     89     Th_Hash *pHash;             /* Data for array variables */
................................................................................
   250    250       case 'f': case 'F': return 15;
   251    251     }
   252    252     return -1;
   253    253   }
   254    254   
   255    255   /*
   256    256   ** Argument pEntry points to an entry in a stack frame hash table
   257         -** (Th_Frame.paVar). Decrement the refrerence count of the Th_Variable
          257  +** (Th_Frame.paVar). Decrement the reference count of the Th_Variable
   258    258   ** structure that the entry points to. Free the Th_Variable if its
   259    259   ** reference count reaches 0.
   260    260   **
   261    261   ** Argument pContext is a pointer to the interpreter structure.
   262    262   */
   263    263   static void thFreeVariable(Th_HashEntry *pEntry, void *pContext){
   264    264     Th_Variable *pValue = (Th_Variable *)pEntry->pData;
................................................................................
   874    874         /* Call the command procedure. */
   875    875         if( rc==TH_OK ){
   876    876           Th_Command *p = (Th_Command *)(pEntry->pData);
   877    877           const char **azArg = (const char **)argv;
   878    878           rc = p->xProc(interp, p->pContext, argc, azArg, argl);
   879    879         }
   880    880     
   881         -      /* If an error occured, add this command to the stack trace report. */
          881  +      /* If an error occurred, add this command to the stack trace report. */
   882    882         if( rc==TH_ERROR ){
   883    883           char *zRes;
   884    884           int nRes;
   885    885           char *zStack = 0;
   886    886           int nStack = 0;
   887    887     
   888    888           zRes = Th_TakeResult(interp, &nRes);
................................................................................
  1057   1057   ** arrayok is true an array name is Ok.
  1058   1058   */
  1059   1059   static Th_Variable *thFindValue(
  1060   1060     Th_Interp *interp,
  1061   1061     const char *zVar,     /* Pointer to variable name */
  1062   1062     int nVar,              /* Number of bytes at nVar */
  1063   1063     int create,            /* If true, create the variable if not found */
  1064         -  int arrayok            /* If true, an array is Ok. Othewise array==error */
         1064  +  int arrayok            /* If true, an array is Ok. Otherwise array==error */
  1065   1065   ){
  1066   1066     const char *zOuter;
  1067   1067     int nOuter;
  1068   1068     const char *zInner;
  1069   1069     int nInner;
  1070   1070     int isGlobal;
  1071   1071   

Changes to src/th_main.c.

   484    484     return TH_OK;
   485    485   }
   486    486   
   487    487   /*
   488    488   ** TH1 command:     stime
   489    489   **
   490    490   ** Return the number of microseconds of CPU time consumed by the current
   491         -** process in systsem space.
          491  +** process in system space.
   492    492   */
   493    493   static int stimeCmd(
   494    494     Th_Interp *interp,
   495    495     void *p, 
   496    496     int argc, 
   497    497     const char **argv, 
   498    498     int *argl

Changes to src/timeline.c.

   880    880   **
   881    881   **    a=TIMEORTAG    after this event
   882    882   **    b=TIMEORTAG    before this event
   883    883   **    c=TIMEORTAG    "circa" this event
   884    884   **    n=COUNT        max number of events in output
   885    885   **    p=UUID         artifact and up to COUNT parents and ancestors
   886    886   **    d=UUID         artifact and up to COUNT descendants
   887         -**    dp=UUUID       The same as d=UUID&p=UUID
          887  +**    dp=UUID        The same as d=UUID&p=UUID
   888    888   **    t=TAGID        show only check-ins with the given tagid
   889    889   **    r=TAGID        show check-ins related to tagid
   890    890   **    u=USER         only if belonging to this user
   891    891   **    y=TYPE         'ci', 'w', 't', 'e'
   892    892   **    s=TEXT         string search (comment and brief)
   893    893   **    ng             Suppress the graph if present
   894    894   **    nd             Suppress "divider" lines
................................................................................
   900    900   **    brbg           Background color from branch name
   901    901   **    ubg            Background color from user
   902    902   **
   903    903   ** p= and d= can appear individually or together.  If either p= or d=
   904    904   ** appear, then u=, y=, a=, and b= are ignored.
   905    905   **
   906    906   ** If a= and b= appear, only a= is used.  If neither appear, the most
   907         -** recent events are choosen.
          907  +** recent events are chosen.
   908    908   **
   909    909   ** If n= is missing, the default count is 20.
   910    910   */
   911    911   void page_timeline(void){
   912    912     Stmt q;                            /* Query used to generate the timeline */
   913    913     Blob sql;                          /* text of SQL used to generate timeline */
   914    914     Blob desc;                         /* Description of the timeline */
................................................................................
  1083   1083         blob_appendf(&sql,
  1084   1084           "AND (EXISTS(SELECT 1 FROM tagxref"
  1085   1085                       " WHERE tagid=%d AND tagtype>0 AND rid=blob.rid)", tagid);
  1086   1086   
  1087   1087         if( zBrName ){
  1088   1088           url_add_parameter(&url, "r", zBrName);
  1089   1089           /* The next two blob_appendf() calls add SQL that causes checkins that
  1090         -        ** are not part of the branch which are parents or childen of the branch
  1091         -        ** to be included in the report.  This related check-ins are useful
  1092         -        ** in helping to visualize what has happened on a quiescent branch 
  1093         -        ** that is infrequently merged with a much more activate branch.
         1090  +        ** are not part of the branch which are parents or children of the
         1091  +        ** branch to be included in the report.  This related check-ins are
         1092  +        ** useful in helping to visualize what has happened on a quiescent
         1093  +        ** branch that is infrequently merged with a much more activate branch.
  1094   1094           */
  1095   1095           blob_appendf(&sql,
  1096   1096             " OR EXISTS(SELECT 1 FROM plink JOIN tagxref ON rid=cid"
  1097   1097                        " WHERE tagid=%d AND tagtype>0 AND pid=blob.rid)",
  1098   1098              tagid
  1099   1099           );
  1100   1100           if( P("mionly")==0 ){

Changes to src/tkt.c.

    89     89   **
    90     90   ** Only load those fields which do not already exist as
    91     91   ** variables.
    92     92   **
    93     93   ** Fields of the TICKET table that begin with "private_" are
    94     94   ** expanded using the db_reveal() function.  If g.perm.RdAddr is
    95     95   ** true, then the db_reveal() function will decode the content
    96         -** using the CONCEALED table so that the content legable.
           96  +** using the CONCEALED table so that the content legible.
    97     97   ** Otherwise, db_reveal() is a no-op and the content remains
    98     98   ** obscured.
    99     99   */
   100    100   static void initializeVariablesFromDb(void){
   101    101     const char *zName;
   102    102     Stmt q;
   103    103     int i, n, size, j;
................................................................................
   497    497   }
   498    498   
   499    499   
   500    500   /*
   501    501   ** WEBPAGE: tktnew
   502    502   ** WEBPAGE: debug_tktnew
   503    503   **
   504         -** Enter a new ticket.  the tktnew_template script in the ticket
          504  +** Enter a new ticket.  The tktnew_template script in the ticket
   505    505   ** configuration is used.  The /tktnew page is the official ticket
   506    506   ** entry page.  The /debug_tktnew page is used for debugging the
   507    507   ** tktnew_template in the ticket configuration.  /debug_tktnew works
   508    508   ** just like /tktnew except that it does not really save the new ticket
   509    509   ** when you press submit - it just prints the ticket artifact at the
   510    510   ** top of the screen.
   511    511   */

Changes to src/tktsetup.c.

    94     94   ** Common implementation for the ticket setup editor pages.
    95     95   */
    96     96   static void tktsetup_generic(
    97     97     const char *zTitle,           /* Page title */
    98     98     const char *zDbField,         /* Configuration field being edited */
    99     99     const char *zDfltValue,       /* Default text value */
   100    100     const char *zDesc,            /* Description of this field */
   101         -  char *(*xText)(const char*),  /* Validitity test or NULL */
   102         -  void (*xRebuild)(void),       /* Run after successulf update */
          101  +  char *(*xText)(const char*),  /* Validity test or NULL */
          102  +  void (*xRebuild)(void),       /* Run after successful update */
   103    103     int height                    /* Height of the edit box */
   104    104   ){
   105    105     const char *z;
   106    106     int isSubmit;
   107    107     
   108    108     login_check_credentials();
   109    109     if( !g.perm.Setup ){

Changes to src/update.c.

   104    104     int debugFlag;        /* --debug option */
   105    105     int setmtimeFlag;     /* --setmtime.  Set mtimes on files */
   106    106     int nChng;            /* Number of file renames */
   107    107     int *aChng;           /* Array of file renames */
   108    108     int i;                /* Loop counter */
   109    109     int nConflict = 0;    /* Number of merge conflicts */
   110    110     int nOverwrite = 0;   /* Number of unmanaged files overwritten */
   111         -  int nUpdate = 0;      /* Number of chagnes of any kind */
   112         -  Stmt mtimeXfer;       /* Statment to transfer mtimes */
          111  +  int nUpdate = 0;      /* Number of changes of any kind */
          112  +  Stmt mtimeXfer;       /* Statement to transfer mtimes */
   113    113   
   114    114     if( !internalUpdate ){
   115    115       undo_capture_command_line();
   116    116       url_proxy_options();
   117    117     }
   118    118     latestFlag = find_option("latest",0, 0)!=0;
   119    119     nochangeFlag = find_option("nochange","n",0)!=0;
................................................................................
   149    149         }else if( !is_a_version(tid) ){
   150    150           fossil_fatal("no such version: %s", g.argv[2]);
   151    151         }
   152    152       }
   153    153     }
   154    154     
   155    155     /* If no VERSION is specified on the command-line, then look for a
   156         -  ** descendent of the current version.  If there are multiple descendents,
          156  +  ** descendent of the current version.  If there are multiple descendants,
   157    157     ** look for one from the same branch as the current version.  If there
   158         -  ** are still multiple descendents, show them all and refuse to update
          158  +  ** are still multiple descendants, show them all and refuse to update
   159    159     ** until the user selects one.
   160    160     */
   161    161     if( tid==0 ){
   162    162       int closeCode = 1;
   163    163       compute_leaves(vid, closeCode);
   164    164       if( !db_exists("SELECT 1 FROM leaves") ){
   165    165         closeCode = 0;

Changes to src/verify.c.

    11     11   **
    12     12   ** Author contact information:
    13     13   **   drh@hwaci.com
    14     14   **   http://www.hwaci.com/drh/
    15     15   **
    16     16   *******************************************************************************
    17     17   **
    18         -** This file contains code used to help verify the integrity of the
           18  +** This file contains code used to help verify the integrity of
    19     19   ** the repository.
    20     20   **
    21     21   ** This file primarily implements the verify_before_commit() interface.
    22     22   ** Any function can call verify_before_commit() with a record id (RID)
    23     23   ** as an argument.  Then before the next change to the database commits,
    24     24   ** this routine will reach in and check that the record can be extracted
    25     25   ** correctly from the BLOB table.

Changes to src/wiki.c.

    25     25   
    26     26   /*
    27     27   ** Return true if the input string is a well-formed wiki page name.
    28     28   **
    29     29   ** Well-formed wiki page names do not begin or end with whitespace,
    30     30   ** and do not contain tabs or other control characters and do not
    31     31   ** contain more than a single space character in a row.  Well-formed
    32         -** names must be between 3 and 100 chracters in length, inclusive.
           32  +** names must be between 3 and 100 characters in length, inclusive.
    33     33   */
    34     34   int wiki_name_is_wellformed(const unsigned char *z){
    35     35     int i;
    36     36     if( z[0]<=0x20 ){
    37     37       return 0;
    38     38     }
    39     39     for(i=1; z[i]; i++){
................................................................................
   880    880   **
   881    881   **        Create a new wiki page with initial content taken from
   882    882   **        FILE or from standard input.
   883    883   **
   884    884   **     %fossil wiki list
   885    885   **
   886    886   **        Lists all wiki entries, one per line, ordered
   887         -**        case-insentively by name.
          887  +**        case-insensitively by name.
   888    888   **
   889    889   */
   890    890   void wiki_cmd(void){
   891    891     int n;
   892    892     db_find_and_open_repository(0, 0);
   893    893     if( g.argc<3 ){
   894    894       goto wiki_cmd_usage;

Changes to src/wikiformat.c.

  1076   1076     }
  1077   1077     db_reset(&q);
  1078   1078     return rc;
  1079   1079   }
  1080   1080   
  1081   1081   /*
  1082   1082   ** Resolve a hyperlink.  The zTarget argument is the content of the [...]
  1083         -** in the wiki.  Append to the output string whatever text is approprate
         1083  +** in the wiki.  Append to the output string whatever text is appropriate
  1084   1084   ** for opening the hyperlink.  Write into zClose[0...nClose-1] text that will
  1085   1085   ** close the markup.
  1086   1086   **
  1087   1087   ** Actually, this routine might or might not append the hyperlink, depending
  1088   1088   ** on current rendering rules: specifically does the current user have
  1089   1089   ** "History" permission.
  1090   1090   **
................................................................................
  1104   1104   **
  1105   1105   **    [#fragment]
  1106   1106   **
  1107   1107   **    [2010-02-27 07:13]
  1108   1108   */
  1109   1109   static void openHyperlink(
  1110   1110     Renderer *p,            /* Rendering context */
  1111         -  const char *zTarget,    /* Hyperlink traget; text within [...] */
         1111  +  const char *zTarget,    /* Hyperlink target; text within [...] */
  1112   1112     char *zClose,           /* Write hyperlink closing text here */
  1113   1113     int nClose,             /* Bytes available in zClose[] */
  1114   1114     const char *zOrig       /* Complete document text */
  1115   1115   ){
  1116   1116     const char *zTerm = "</a>";
  1117   1117     assert( nClose>=20 );
  1118   1118   

Changes to src/winhttp.c.

   269    269   */
   270    270   static char *win32_get_last_errmsg(void){
   271    271     DWORD nMsg;
   272    272     DWORD nErr = GetLastError();
   273    273     LPWSTR tmp = NULL;
   274    274     char *zMsg = NULL;
   275    275   
   276         -  /* Try first to get the error text in english. */
          276  +  /* Try first to get the error text in English. */
   277    277     nMsg = FormatMessageW(
   278    278              FORMAT_MESSAGE_ALLOCATE_BUFFER |
   279    279              FORMAT_MESSAGE_FROM_SYSTEM     |
   280    280              FORMAT_MESSAGE_IGNORE_INSERTS,
   281    281              NULL,
   282    282              nErr,
   283    283              MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US),

Changes to src/xfer.c.

   546    546   **
   547    547   **        login LOGIN NONCE SIGNATURE
   548    548   **
   549    549   ** The NONCE is the SHA1 hash of the remainder of the input.  
   550    550   ** SIGNATURE is the SHA1 checksum of the NONCE concatenated 
   551    551   ** with the users password.
   552    552   **
   553         -** The parameters to this routine are ephermeral blobs holding the
          553  +** The parameters to this routine are ephemeral blobs holding the
   554    554   ** LOGIN, NONCE and SIGNATURE.
   555    555   **
   556    556   ** This routine attempts to locate the user and verify the signature.
   557    557   ** If everything checks out, the USER.CAP column for the USER table
   558    558   ** is consulted to set privileges in the global g variable.
   559    559   **
   560    560   ** If anything fails to check out, no changes are made to privileges.

Changes to src/xfersetup.c.

    46     46   ** Common implementation for the transfer setup editor pages.
    47     47   */
    48     48   static void xfersetup_generic(
    49     49     const char *zTitle,           /* Page title */
    50     50     const char *zDbField,         /* Configuration field being edited */
    51     51     const char *zDfltValue,       /* Default text value */
    52     52     const char *zDesc,            /* Description of this field */
    53         -  char *(*xText)(const char*),  /* Validitity test or NULL */
    54         -  void (*xRebuild)(void),       /* Run after successulf update */
           53  +  char *(*xText)(const char*),  /* Validity test or NULL */
           54  +  void (*xRebuild)(void),       /* Run after successful update */
    55     55     int height                    /* Height of the edit box */
    56     56   ){
    57     57     const char *z;
    58     58     int isSubmit;
    59     59   
    60     60     login_check_credentials();
    61     61     if( !g.perm.Setup ){