projects
/
bluesky.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Preliminary symlink/readlink support.
[bluesky.git]
/
bluesky
/
serialize.c
diff --git
a/bluesky/serialize.c
b/bluesky/serialize.c
index
7f7f041
..
6f31dcb
100644
(file)
--- a/
bluesky/serialize.c
+++ b/
bluesky/serialize.c
@@
-11,7
+11,7
@@
#include <glib.h>
#include <string.h>
#include <glib.h>
#include <string.h>
-#include "bluesky.h"
+#include "bluesky
-private
.h"
/* Serialization of in-memory filesystem data structures to bytestrings which
* can be written to persistent storage. All data is stored in little-endian
/* Serialization of in-memory filesystem data structures to bytestrings which
* can be written to persistent storage. All data is stored in little-endian
@@
-124,6
+124,13
@@
void bluesky_serialize_inode(GString *out, BlueSkyInode *inode)
break;
}
break;
}
+
+ case BLUESKY_SYMLINK:
+ {
+ g_string_append(out, inode->symlink_contents);
+ g_string_append_c(out, '\0');
+ }
+
default:
g_warning("Serialization for inode type %d not implemented!\n",
inode->type);
default:
g_warning("Serialization for inode type %d not implemented!\n",
inode->type);
@@
-200,6
+207,12
@@
BlueSkyInode *bluesky_deserialize_inode(BlueSkyFS *fs, const gchar *buf)
}
break;
}
}
break;
}
+
+ case BLUESKY_SYMLINK:
+ {
+ inode->symlink_contents = g_strdup(buf);
+ }
+
default:
g_warning("Deserialization for inode type %d not implemented!\n",
inode->type);
default:
g_warning("Deserialization for inode type %d not implemented!\n",
inode->type);