Fossil

Check-in [9443f619b3]
Login

Check-in [9443f619b3]

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

Overview
Comment:Fix the "setenv:" attribute on a CGI script so that the value of the environment variable includes the rest of the line, omitting only leading and trialing whitespace. This allows an environment variable to be set to a string that contains spaces.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 9443f619b3719aac6fe2584052bf61884d9d79e17cc69d80389592fb1bcfec1c
User & Date: drh 2025-03-23 18:04:24.990
Context
2025-03-23
19:50
Add the --extpage option to the "fossil ui" command. ... (check-in: 36c798413c user: drh tags: trunk)
18:04
Fix the "setenv:" attribute on a CGI script so that the value of the environment variable includes the rest of the line, omitting only leading and trialing whitespace. This allows an environment variable to be set to a string that contains spaces. ... (check-in: 9443f619b3 user: drh tags: trunk)
17:34
The environment variable FOSSIL_REPOLIST_TITLE, if it exists, provides an alternative name to the "Repository List" page that comes up for the "fossil all ui" or "fossil ui /" commands. ... (check-in: 14e1581c2c user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/main.c.
2540
2541
2542
2543
2544
2545
2546

2547



2548
2549
2550
2551
2552
2553
2554
2555
    if( blob_eq(&key, "setenv:") && blob_token(&line, &value) ){
      /* setenv: NAME VALUE
      ** setenv: NAME
      **
      ** Sets environment variable NAME to VALUE.  If VALUE is omitted, then
      ** the environment variable is unset.
      */

      blob_token(&line,&value2);



      fossil_setenv(blob_str(&value), blob_str(&value2));
      blob_reset(&value);
      blob_reset(&value2);
      continue;
    }
    if( blob_eq(&key, "errorlog:") && blob_token(&line, &value) ){
      /* errorlog: FILENAME
      **







>
|
>
>
>
|







2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
    if( blob_eq(&key, "setenv:") && blob_token(&line, &value) ){
      /* setenv: NAME VALUE
      ** setenv: NAME
      **
      ** Sets environment variable NAME to VALUE.  If VALUE is omitted, then
      ** the environment variable is unset.
      */
      char *zValue;
      blob_tail(&line,&value2);
      blob_trim(&value2);
      zValue = blob_str(&value2);
      while( fossil_isspace(zValue[0]) ){ zValue++; }
      fossil_setenv(blob_str(&value), zValue);
      blob_reset(&value);
      blob_reset(&value2);
      continue;
    }
    if( blob_eq(&key, "errorlog:") && blob_token(&line, &value) ){
      /* errorlog: FILENAME
      **