[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Lost] Ramdisk
Der Link-Pfad wird jetzt nicht mehr im Datenpuffer gespeichert, sondern
seperat. Verlinkt ist der Link bei link_path in struct cdi_fs_resource.
time() wird nicht mehr verwendet, es wäre aber sinnvoll etwas ähnliches
in CDI zu haben. Ich hab in cdi/misc.h schon cdi_time(). Bei LOST ist
das noch nicht, deswegen hab ich das mal aus ramdisk rausgelassen.
Ich hab auch noch in file.c in ramdisk_fs_file_write() das memset()
entfernt, dass aufgerufen wird, wenn der Buffer vegrößert werden muss.
Der neue Speicher wird danach ja eh sofort beschrieben.
Index: dir.c
===================================================================
--- dir.c (Revision 934)
+++ dir.c (Arbeitskopie)
@@ -33,8 +33,7 @@
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <string.h>
-// FIXME CDI kennt eigentlich keine POSIX-Funktionen
-#include <time.h>
+
#include "cdi/lists.h"
#include "ramdisk_cdi.h"
@@ -57,7 +56,8 @@
res->res.name = strdup(name);
res->res.res = &ramdisk_fs_res;
res->res.children = cdi_list_create();
- res->creation_time = time(NULL);
+ res->res.link_path = NULL;
+ res->creation_time = 0;
cdi_list_push(parent_res->res.children, res);
res->res.parent = parent;
Index: file.c
===================================================================
--- file.c (Revision 934)
+++ file.c (Arbeitskopie)
@@ -63,7 +63,6 @@
stream->error = CDI_FS_ERROR_INTERNAL;
return 0;
}
- memset(new_buffer + res->size, 0, new_size - res->size);
res->buffer = new_buffer;
res->size = new_size;
}
Index: link.c
===================================================================
--- link.c (Revision 934)
+++ link.c (Arbeitskopie)
@@ -39,14 +39,14 @@
{
struct ramdisk_fs_res* res = (struct ramdisk_fs_res*) stream->res;
- return res->buffer;
+ return res->res.link_path;
}
int ramdisk_fs_link_write(struct cdi_fs_stream *stream, const char *path) {
struct ramdisk_fs_res* res = (struct ramdisk_fs_res*) stream->res;
- free(res->buffer);
- res->buffer = strdup(path);
+ free(res->res.link_path);
+ res->res.link_path = strdup(path);
return 1;
}