Overview
| Comment: | Integrate pure C version |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
eebfe1f40fee1be90946d1dc5a4993a1 |
| User & Date: | rkeene on 2020-03-25 00:24:54.467 |
| Other Links: | manifest | tags |
Context
|
2020-03-25
| ||
| 01:01 | Allow setting a specific mode when building check-in: 807cab65f7 user: rkeene tags: trunk | |
| 00:24 | Integrate pure C version check-in: eebfe1f40f user: rkeene tags: trunk | |
|
2019-12-06
| ||
| 14:17 | Updated ignores Closed-Leaf check-in: a01594ff30 user: rkeene tags: pure-c | |
|
2019-11-14
| ||
| 23:39 | Revert [ac58551e55], needs more work check-in: 992994189a user: rkeene tags: trunk | |
Changes
Modified .fossil-settings/ignore-glob
from [5dadc8b9dc]
to [a5960fd8bf].
| ︙ | |||
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | + + + + | xvfs.so example-standalone.gcda example-standalone.gcno example-flexible.gcda example-flexible.gcno example-client.gcda example-client.gcno xvfs-create-c.gcda xvfs-create-c.gcno xvfs.gcda xvfs.gcno xvfs-create-standalone.new xvfs-create-standalone xvfs-test-coverage xvfs-create-c xvfs-create-c.o __test__.tcl sdks xvfs_random.so xvfs_synthetic.so profile-bare profile-gperf oprofile_data |
| ︙ |
Modified Makefile
from [fa4437d0b1]
to [dafcafb7d8].
|
Modified lib/xvfs/xvfs.c.rvt
from [ced159acac]
to [307533bbcd].
1 2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | + + + + + + + - + |
<?
# Care must be taken when editing this file as
# it may be processed by either "xvfs-create"
# which uses a full Tcl and Rivet parser
# or by "xvfs-create-c" which uses a much
# simpler one that only knows about printable
# sections and ignores all Tcl sections
if {[info exists ::xvfs::xvfsCoreH]} {
|
| ︙ | |||
51 52 53 54 55 56 57 | 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | - - + + - - - - - - - - - - - + + + - - + - - - - - - - - - - - - - - - - - + + - | } data; }; #endif <? package require xvfs |
| ︙ | |||
214 215 216 217 218 219 220 | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 | - - + + |
inode = xvfs_<?= $::xvfs::fsName ?>_nameToIndex(path);
if (inode == XVFS_NAME_LOOKUP_ERROR) {
return(XVFS_RV_ERR_ENOENT);
}
fileInfo = &xvfs_<?= $::xvfs::fsName ?>_data[inode];
|
| ︙ |
Modified lib/xvfs/xvfs.tcl
from [842e8c1c67]
to [832d8bb370].
1 2 3 4 5 6 7 8 9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | - - - - + - |
#! /usr/bin/env tclsh
namespace eval ::xvfs {}
namespace eval ::xvfs::callback {}
set ::xvfs::_xvfsDir [file dirname [info script]]
# Functions
proc ::xvfs::_emitLine {line} {
|
| ︙ | |||
127 128 129 130 131 132 133 | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | - - + - + + |
return -code error "Unable to process $inputFile, unknown type: $fileInfo(type)"
}
}
::xvfs::_emitLine "\t\{"
::xvfs::_emitLine "\t\t.name = \"[sanitizeCString $outputFile]\","
::xvfs::_emitLine "\t\t.type = $type,"
|
| ︙ | |||
278 279 280 281 282 283 284 285 286 287 288 289 290 291 | 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 | + + + |
}
## 3. Start processing directory and producing initial output
set ::xvfs::outputFiles [processDirectory $fsName $rootDirectory]
set ::xvfs::fsName $fsName
set ::xvfs::rootDirectory $rootDirectory
# Return the output
return [join $::xvfs::_emitLine "\n"]
}
proc ::xvfs::run {args} {
uplevel #0 { package require minirivet }
set ::xvfs::argv $args
::minirivet::parse [file join $::xvfs::_xvfsDir xvfs.c.rvt]
|
| ︙ |
Added xvfs-create-c.c version [8abf7d803b].
Modified xvfs-create-synthetic
from [48aa2ff0d9]
to [d0aa4cbe5c].
| ︙ | |||
17 18 19 20 21 22 23 24 25 26 27 28 29 30 | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | + + + + + + + + - + + + |
fileContents "abc"
}
dict set ::myOwnVFS "xvfs-create-synthetic" {
type file
}
proc ::xvfs::callback::addOutputFiles {fsName} {
for {set i 0} {$i < 100000} {incr i} {
set filename [expr rand()]
::xvfs::processFile $fsName "" $filename [dict create type file fileContents [expr rand()]]
lappend retval $filename
}
dict set ::myOwnVFS "" children [list foo xvfs-create-synthetic {*}$retval]
dict for {outputName fileContentsDict} $::myOwnVFS {
set inputFile $outputName
if {[dict exists $fileContentsDict inputFile]} {
set inputFile [dict get $fileContentsDict inputFile]
}
::xvfs::processFile $fsName $inputFile $outputName $fileContentsDict
}
|
Modified xvfs-test-phf
from [97db11b922]
to [c605598e4e].
| ︙ | |||
14 15 16 17 18 19 20 | 14 15 16 17 18 19 20 21 22 23 24 25 | - + |
lappend list $i
}
for {set idx 0} {$idx < [llength $list]} {incr idx} {
set subList [lrange $list 0 $idx]
puts "$idx ($subList):"
puts [time {
|