Overview
| Comment: | Added start of flexible mode |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
88f96696b79a47a25b5dfbe780b185c0 |
| User & Date: | rkeene on 2019-05-03 13:30:11.764 |
| Other Links: | manifest | tags |
Context
|
2019-05-03
| ||
| 22:18 | Use adler32 to hash values check-in: fb9dd5d783 user: rkeene tags: trunk | |
| 13:30 | Added start of flexible mode check-in: 88f96696b7 user: rkeene tags: trunk | |
|
2019-05-02
| ||
| 23:37 | More work on splitting up modes check-in: 3e44e1def1 user: rkeene tags: trunk | |
Changes
Modified Makefile
from [0d56f35fbc]
to [083522c323].
|
| | | | 1 2 3 4 5 6 7 8 9 10 11 | CPPFLAGS := -I. -DUSE_TCL_STUBS=1 -DXVFS_MODE_FLEXIBLE CFLAGS := -fPIC -g3 -ggdb3 -Wall LDFLAGS := LIBS := -ltclstub8.6 -ldl all: example.so example.c: $(shell find example -type f) $(shell find lib -type f) xvfs.c.rvt xvfs-create Makefile ./xvfs-create --directory example --name example > example.c.new mv example.c.new example.c |
| ︙ | ︙ |
Modified xvfs-core.c
from [6b6c879bfa]
to [7a51ec83d4].
| ︙ | ︙ | |||
75 76 77 78 79 80 81 | pathStr = xvfs_relativePath(path, instanceInfo); fprintf(stderr, "Called open(%s)!\n", pathStr); return(NULL); } #endif /* XVFS_MODE_SERVER || XVFS_MODE_STANDALONE || XVFS_MODE_FLEIXBLE */ | | | 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
pathStr = xvfs_relativePath(path, instanceInfo);
fprintf(stderr, "Called open(%s)!\n", pathStr);
return(NULL);
}
#endif /* XVFS_MODE_SERVER || XVFS_MODE_STANDALONE || XVFS_MODE_FLEIXBLE */
#if defined(XVFS_MODE_STANDALONE) || defined(XVFS_MODE_FLEXIBLE)
/*
* Tcl_Filesystem handlers for the standalone implementation
*/
static struct xvfs_tclfs_instance_info xvfs_tclfs_standalone_info;
static int xvfs_tclfs_standalone_pathInFilesystem(Tcl_Obj *path, ClientData *dataPtr) {
return(xvfs_tclfs_pathInFilesystem(path, dataPtr, &xvfs_tclfs_standalone_info));
}
|
| ︙ | ︙ | |||
189 190 191 192 193 194 195 196 197 198 199 200 201 |
return(tcl_ret);
}
return(TCL_OK);
}
#endif
#if defined(XVFS_MODE_SERVER)
int Xvfs_Register(Tcl_Interp *interp, struct Xvfs_FSInfo *fsInfo) {
return(TCL_ERROR);
}
#endif
| > > > > > > > > > > > > > > > > > | 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 |
return(tcl_ret);
}
return(TCL_OK);
}
#endif
#if defined(XVFS_MODE_FLEXIBLE)
#include <dlfcn.h>
int xvfs_flexible_register(Tcl_Interp *interp, struct Xvfs_FSInfo *fsInfo) {
int (*xvfs_register)(Tcl_Interp *interp, struct Xvfs_FSInfo *fsInfo) = NULL;
/*
* XXX:TODO: Find some way to use Tcl_FindSymbol() to do this
*/
xvfs_register = dlsym(NULL, "Xvfs_Register");
if (!xvfs_register) {
xvfs_register = &xvfs_standalone_register;
}
return(xvfs_register(interp, fsInfo));
}
#endif
#if defined(XVFS_MODE_SERVER)
int Xvfs_Register(Tcl_Interp *interp, struct Xvfs_FSInfo *fsInfo) {
return(TCL_ERROR);
}
#endif
|