Overview
Comment: | Updated to use Tcl allocation routines for memory allocating/releasing |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
0fb3b3b582bce90b77b493576b32e7ff |
User & Date: | rkeene on 2016-11-10 21:14:04 |
Other Links: | manifest | tags |
Context
2016-12-09
| ||
04:18 | Updated to support partial decryption of data check-in: a400fc4409 user: rkeene tags: trunk | |
2016-11-10
| ||
21:14 | Updated to use Tcl allocation routines for memory allocating/releasing check-in: 0fb3b3b582 user: rkeene tags: trunk | |
20:40 | Updated to enable use of stubs with dir2c C-VFS builder check-in: fa78eca529 user: rkeene tags: trunk | |
Changes
Modified kitsh/buildsrc/kitsh-0.0/cvfs_data.c from [010e908a77] to [184ea3e79a].
︙ | ︙ | |||
270 271 272 273 274 275 276 | Tcl_SetResult(interp, "Failed to allocate new object", TCL_STATIC); return(TCL_ERROR); } Tcl_IncrRefCount(ret_list); | | | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | Tcl_SetResult(interp, "Failed to allocate new object", TCL_STATIC); return(TCL_ERROR); } Tcl_IncrRefCount(ret_list); children = (void *) Tcl_Alloc(sizeof(*children) * num_children); num_children = cmd_getChildren(file, children, num_children); for (idx = 0; idx < num_children; idx++) { finfo = cmd_getData(NULL, children[idx]); if (finfo == NULL || finfo->name == NULL) { |
︙ | ︙ | |||
292 293 294 295 296 297 298 | Tcl_IncrRefCount(ret_curr_obj); Tcl_ListObjAppendList(interp, ret_list, ret_curr_obj); Tcl_DecrRefCount(ret_curr_obj); } | | | 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 | Tcl_IncrRefCount(ret_curr_obj); Tcl_ListObjAppendList(interp, ret_list, ret_curr_obj); Tcl_DecrRefCount(ret_curr_obj); } Tcl_Free((void *) children); Tcl_SetObjResult(interp, ret_list); Tcl_DecrRefCount(ret_list); return(TCL_OK); } |
Modified kitsh/buildsrc/kitsh-0.0/dir2c.tcl from [dff14cac78] to [74a40bc096].
︙ | ︙ | |||
233 234 235 236 237 238 239 240 241 242 243 244 245 246 | # endif # ifdef HAVE_STRING_H # include <string.h> # endif # ifdef HAVE_STDLIB_H # include <stdlib.h> # endif # ifndef LOADED_CVFS_COMMON # define LOADED_CVFS_COMMON 1 typedef enum { CVFS_FILETYPE_FILE = 0, CVFS_FILETYPE_DIR = 1, | > | 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | # endif # ifdef HAVE_STRING_H # include <string.h> # endif # ifdef HAVE_STDLIB_H # include <stdlib.h> # endif # include <tcl.h> # ifndef LOADED_CVFS_COMMON # define LOADED_CVFS_COMMON 1 typedef enum { CVFS_FILETYPE_FILE = 0, CVFS_FILETYPE_DIR = 1, |
︙ | ︙ | |||
508 509 510 511 512 513 514 | if {$obsfucate} { puts "static void ${code_tag}_decryptFile(const char *path, struct cvfs_data *finfo) {" puts "\tstatic struct cvfs_key key = { [string map [list "\n" " "] [encrypt_key_export $obsfucation_key "c"]] };" puts "\tunsigned char *new_data, *old_data;" puts "\tint decrypt_ret, free_old_data;" puts "" | | | | | 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 | if {$obsfucate} { puts "static void ${code_tag}_decryptFile(const char *path, struct cvfs_data *finfo) {" puts "\tstatic struct cvfs_key key = { [string map [list "\n" " "] [encrypt_key_export $obsfucation_key "c"]] };" puts "\tunsigned char *new_data, *old_data;" puts "\tint decrypt_ret, free_old_data;" puts "" puts "\tnew_data = (void *) Tcl_Alloc(finfo->size);" puts "\tdecrypt_ret = cvfs_decrypt(new_data, finfo->data, finfo->size, &key);" puts "\tif (decrypt_ret != 0) {" puts "\t\tTcl_Free((void *) new_data);" puts "" puts "\t\treturn;" puts "\t}" puts "" puts "\tfree_old_data = finfo->free;" puts "\told_data = (void *) finfo->data;" puts "" puts "\tfinfo->data = new_data;" puts "\tfinfo->free = 1;" puts "\tfinfo->type = CVFS_FILETYPE_FILE;" puts "" puts "\tif (free_old_data) {" puts "\t\tTcl_Free((void *) old_data);" puts "\t}" puts "\treturn;" puts "}" puts "" } puts "# ifdef CVFS_MAKE_LOADABLE" |
︙ | ︙ |