+
+/**
+ * \fn void VFS_UpdateDriverFile(void)
+ * \brief Updates the driver list file
+ */
+void VFS_UpdateDriverFile(void)
+{
+ tVFS_Driver *drv;
+ int len = 0;
+ char *buf;
+
+ // Format:
+ // <name>\n
+ for( drv = gVFS_Drivers; drv; drv = drv->Next )
+ {
+ len += 1 + strlen(drv->Name);
+ }
+ buf = malloc(len+1);
+ len = 0;
+ for( drv = gVFS_Drivers; drv; drv = drv->Next )
+ {
+ strcpy( &buf[len], drv->Name );
+ len += strlen(drv->Name);
+ buf[len++] = '\n';
+ }
+ buf[len] = '\0';
+
+ SysFS_UpdateFile( giVFS_DriverFileID, buf, len );
+ if(gsVFS_DriverFile) free(gsVFS_DriverFile);
+ gsVFS_DriverFile = buf;
+}