diff target-utils/libmpffs/basicfind.c @ 103:ac310ee73788

target-utils/libmpffs: minor refactoring, read into RAM implemented
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Mon, 02 Sep 2013 01:28:11 +0000
parents 7f75ffdd674f
children
line wrap: on
line diff
--- a/target-utils/libmpffs/basicfind.c	Mon Sep 02 00:41:18 2013 +0000
+++ b/target-utils/libmpffs/basicfind.c	Mon Sep 02 01:28:11 2013 +0000
@@ -6,25 +6,6 @@
 
 extern char *index();
 
-static u8 *
-find_endofchunk(ino)
-{
-	struct inode *irec = mpffs_active_index + ino;
-	u8 *p;
-	int i;
-
-	p = inode_to_dataptr(irec) + irec->len;
-	for (i = 0; i < 16; i++) {
-		p--;
-		if (!*p)
-			return(p);
-		if (*p != 0xFF)
-			break;
-	}
-	printf("Error: inode #%x has no valid termination\n", ino);
-	return(p);	/* XXX */
-}
-
 static
 find_named_child(start, seekname)
 	char *seekname;
@@ -82,85 +63,3 @@
 	}
 	return(ino);
 }
-
-mpffs_find_file(pathname, startret, sizeret, continue_ret)
-	char *pathname;
-	u8 **startret;
-	size_t *sizeret;
-	int *continue_ret;
-{
-	int ino, cont;
-	struct inode *irec;
-	u8 *start, *end;
-	int size;
-
-	ino = mpffs_pathname_to_inode(pathname);
-	if (ino <= 0)
-		return(-1);
-	irec = mpffs_active_index + ino;
-	if (irec->type != OBJTYPE_FILE) {
-		printf("Error: %s is not a regular file\n", pathname);
-		return(-1);
-	}
-	start = inode_to_dataptr(irec);
-	start += strlen(start) + 1;
-	end = find_endofchunk(ino);
-	size = end - start;
-	if (size < 0)
-		size = 0;
-	cont = irec->descend;
-	if (cont == 0xFFFF)
-		cont = 0;
-	if (startret)
-		*startret = start;
-	if (sizeret)
-		*sizeret = size;
-	if (continue_ret)
-		*continue_ret = cont;
-	return(0);
-}
-
-mpffs_get_segment(ino, startret, sizeret, continue_ret)
-	int ino;
-	u8 **startret;
-	size_t *sizeret;
-	int *continue_ret;
-{
-	int cont;
-	struct inode *irec;
-	u8 *start, *end;
-	int size;
-
-	for (;;) {
-		irec = mpffs_active_index + ino;
-		if (irec->type)
-			break;
-		if (irec->sibling == 0xFFFF) {
-		    printf("Error: segment inode #%d: deleted and no sibling\n",
-				ino);
-			return(-1);
-		}
-		ino = irec->sibling;
-	}
-	if (irec->type != OBJTYPE_SEGMENT) {
-		printf("Error: inode #%x is not a segment\n", ino);
-		return(-1);
-	}
-	start = inode_to_dataptr(irec);
-	end = find_endofchunk(ino);
-	size = end - start;
-	if (size <= 0) {
-		printf("Error: segment inode #%x: bad length\n", ino);
-		return(-1);
-	}
-	cont = irec->descend;
-	if (cont == 0xFFFF)
-		cont = 0;
-	if (startret)
-		*startret = start;
-	if (sizeret)
-		*sizeret = size;
-	if (continue_ret)
-		*continue_ret = cont;
-	return(0);
-}