Check-in [0ab6fe4fbd]
Not logged in

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

Overview
Comment:?read-enc-hashed with good stack effect
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 0ab6fe4fbd3f0005568559176cb3c52b43418420
User & Date: bernd 2019-03-26 21:39:08.287
Context
2019-03-28
13:43
Bump version number check-in: 7415c3a39d user: bernd tags: trunk, 0.8.8-20190328
2019-03-26
21:39
?read-enc-hashed with good stack effect check-in: 0ab6fe4fbd user: bernd tags: trunk
21:24
Avatar reload when thumbnails are ditched check-in: d0bf2a8d6c user: bernd tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to dvcs.fs.
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
: read-enc-hashed ( hash1 u1 -- )
    \ 2dup 85type space
    2dup enchash>filename patch-in$ $slurp-file
    patch-in$ $@ c:decrypt
    patch-in$ $@ >file-hash \ 2dup 85type cr
    str= 0= !!wrong-hash!! ;

: ?read-enc-hashed ( hash1 u1 -- )
    2dup dvcs-objects #@ 2dup d0= IF
	2drop 2dup read-enc-hashed
	patch-in$ $@ 2swap dvcs-objects #!
    ELSE
	patch-in$ $! 2drop
    THEN ;

\ in-memory file hash+contents database

: dvcs-outfile-hash ( baddr u1 fhash u2 -- )
    hash#128 umin dvcs-objects #! ;

: ?fileentry-hash ( -- )







|




|
|







190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
: read-enc-hashed ( hash1 u1 -- )
    \ 2dup 85type space
    2dup enchash>filename patch-in$ $slurp-file
    patch-in$ $@ c:decrypt
    patch-in$ $@ >file-hash \ 2dup 85type cr
    str= 0= !!wrong-hash!! ;

: ?read-enc-hashed ( hash1 u1 -- addr u )
    2dup dvcs-objects #@ 2dup d0= IF
	2drop 2dup read-enc-hashed
	patch-in$ $@ 2swap dvcs-objects #!
    ELSE
	2drop 2drop
    THEN  last# cell+ $@ ;

\ in-memory file hash+contents database

: dvcs-outfile-hash ( baddr u1 fhash u2 -- )
    hash#128 umin dvcs-objects #! ;

: ?fileentry-hash ( -- )
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
    id-check# #frees
    branches[] $[]off  dvcs:commits @ .id>branches-loop
    id-check# #frees
    dvcs( ." re:" cr branches[] [: 85type cr ;] $[]map ) ;
: branches>dvcs ( -- )
    branches[] [: dup IF
	    dvcs( ." read enc hash: " 2dup 85type cr )
	    ?read-enc-hashed  c-state off
	    patch-in$ $@ do-cmd-loop
	    dvcs:clean-delta
	ELSE  2drop  THEN
    ;] $[]map ;

\ push out a revision

: >revision ( addr u -- )







|
<







639
640
641
642
643
644
645
646

647
648
649
650
651
652
653
    id-check# #frees
    branches[] $[]off  dvcs:commits @ .id>branches-loop
    id-check# #frees
    dvcs( ." re:" cr branches[] [: 85type cr ;] $[]map ) ;
: branches>dvcs ( -- )
    branches[] [: dup IF
	    dvcs( ." read enc hash: " 2dup 85type cr )
	    ?read-enc-hashed  c-state off  do-cmd-loop

	    dvcs:clean-delta
	ELSE  2drop  THEN
    ;] $[]map ;

\ push out a revision

: >revision ( addr u -- )
Changes to gui.fs.
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414

Hash: avatar#

glue new Constant glue*avatar
glue*avatar >o pixelsize# 64 fm* 0e 0g glue-dup hglue-c glue! vglue-c glue! 0glue dglue-c glue! o>

: read-avatar ( addr u -- addr' u' )
    ?read-enc-hashed patch-in$ $@ mem>thumb atlas-region ;
: show-avatar ( addr u -- o )
    2dup avatar# #@ nip 0= IF
	2dup read-avatar 2swap avatar# #!
    ELSE  2drop  THEN
    glue*avatar last# cell+ $@ drop }}thumb
    >r {{ r> }}v 40%b ;








|







400
401
402
403
404
405
406
407
408
409
410
411
412
413
414

Hash: avatar#

glue new Constant glue*avatar
glue*avatar >o pixelsize# 64 fm* 0e 0g glue-dup hglue-c glue! vglue-c glue! 0glue dglue-c glue! o>

: read-avatar ( addr u -- addr' u' )
    ?read-enc-hashed mem>thumb atlas-region ;
: show-avatar ( addr u -- o )
    2dup avatar# #@ nip 0= IF
	2dup read-avatar 2swap avatar# #!
    ELSE  2drop  THEN
    glue*avatar last# cell+ $@ drop }}thumb
    >r {{ r> }}v 40%b ;