Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Cache values of versionable settings read from files. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | ben-minorchanges |
Files: | files | file ages | folders |
SHA1: |
0f0a94730c0ae9758588859044439390 |
User & Date: | ben 2011-08-23 08:37:23.367 |
Context
2011-08-23
| ||
14:47 | Merge the versionable-settings cache into trunk. ... (check-in: ea51d127 user: drh tags: trunk) | |
08:37 | Cache values of versionable settings read from files. ... (Closed-Leaf check-in: 0f0a9473 user: ben tags: ben-minorchanges) | |
2011-08-22
| ||
19:02 | Allow browsing of directories whose names contain characters that must be escaped for HTML. ... (check-in: 1ec0739c user: drh tags: trunk) | |
Changes
Changes to src/db.c.
︙ | ︙ | |||
1405 1406 1407 1408 1409 1410 1411 | /* ** Logic for reading potentially versioned settings from ** .fossil-settings/<name> , and emits warnings if necessary. ** Returns the non-versioned value without modification if there is no ** versioned value. */ static char *db_get_do_versionable(const char *zName, char *zNonVersionedSetting){ | < > > > > > | > > > > > > > > > > > | | 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 | /* ** Logic for reading potentially versioned settings from ** .fossil-settings/<name> , and emits warnings if necessary. ** Returns the non-versioned value without modification if there is no ** versioned value. */ static char *db_get_do_versionable(const char *zName, char *zNonVersionedSetting){ char *zVersionedSetting = 0; int noWarn = 0; struct _cacheEntry { struct _cacheEntry *next; const char *zName, *zValue; } *cacheEntry = 0; static struct _cacheEntry *cache = 0; /* Look up name in cache */ cacheEntry = cache; while( cacheEntry!=0 ){ if( fossil_strcmp(cacheEntry->zName, zName)==0 ){ zVersionedSetting = fossil_strdup(cacheEntry->zValue); break; } cacheEntry = cacheEntry->next; } /* Attempt to read value from file in checkout if there wasn't a cache hit ** and a checkout is open. */ if( cacheEntry==0 && db_open_local() ){ Blob versionedPathname; char *zVersionedPathname; blob_zero(&versionedPathname); blob_appendf(&versionedPathname, "%s/.fossil-settings/%s", g.zLocalRoot, zName); zVersionedPathname = blob_str(&versionedPathname); if( file_size(zVersionedPathname)>=0 ){ |
︙ | ︙ | |||
1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 | /* See if there's a no-warn flag */ blob_append(&versionedPathname, ".no-warn", -1); if( file_size(blob_str(&versionedPathname))>=0 ){ noWarn = 1; } } blob_reset(&versionedPathname); } /* Display a warning? */ if( zVersionedSetting!=0 && zNonVersionedSetting!=0 && zNonVersionedSetting[0]!='\0' && !noWarn ){ /* There's a versioned setting, and a non-versioned setting. Tell ** the user about the conflict */ | > > > > > > | 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 | /* See if there's a no-warn flag */ blob_append(&versionedPathname, ".no-warn", -1); if( file_size(blob_str(&versionedPathname))>=0 ){ noWarn = 1; } } blob_reset(&versionedPathname); /* Store result in cache, which can be the value or 0 if not found */ cacheEntry = (struct _cacheEntry*)fossil_malloc(sizeof(struct _cacheEntry)); cacheEntry->next = cache; cacheEntry->zName = zName; cacheEntry->zValue = fossil_strdup(zVersionedSetting); cache = cacheEntry; } /* Display a warning? */ if( zVersionedSetting!=0 && zNonVersionedSetting!=0 && zNonVersionedSetting[0]!='\0' && !noWarn ){ /* There's a versioned setting, and a non-versioned setting. Tell ** the user about the conflict */ |
︙ | ︙ |