diff options
| -rw-r--r-- | usr/gen_init_cpio.c | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/usr/gen_init_cpio.c b/usr/gen_init_cpio.c index b2b3c2d1cf8..59df70d9d1d 100644 --- a/usr/gen_init_cpio.c +++ b/usr/gen_init_cpio.c @@ -104,6 +104,8 @@ static int cpio_mkslink(const char *name, const char *target,  	char s[256];  	time_t mtime = time(NULL); +	if (name[0] == '/') +		name++;  	sprintf(s,"%s%08X%08X%08lX%08lX%08X%08lX"  	       "%08X%08X%08X%08X%08X%08X%08X",  		"070701",		/* magic */ @@ -152,6 +154,8 @@ static int cpio_mkgeneric(const char *name, unsigned int mode,  	char s[256];  	time_t mtime = time(NULL); +	if (name[0] == '/') +		name++;  	sprintf(s,"%s%08X%08X%08lX%08lX%08X%08lX"  	       "%08X%08X%08X%08X%08X%08X%08X",  		"070701",		/* magic */ @@ -245,6 +249,8 @@ static int cpio_mknod(const char *name, unsigned int mode,  	else  		mode |= S_IFCHR; +	if (name[0] == '/') +		name++;  	sprintf(s,"%s%08X%08X%08lX%08lX%08X%08lX"  	       "%08X%08X%08X%08X%08X%08X%08X",  		"070701",		/* magic */ @@ -332,6 +338,8 @@ static int cpio_mkfile(const char *name, const char *location,  		/* data goes on last link */  		if (i == nlinks) size = buf.st_size; +		if (name[0] == '/') +			name++;  		namesize = strlen(name) + 1;  		sprintf(s,"%s%08X%08X%08lX%08lX%08X%08lX"  		       "%08lX%08X%08X%08X%08X%08X%08X",  |