- if (*fileName=='/') {
- static int alreadyWarned=FALSE;
- if (alreadyWarned==FALSE) {
- errorMsg("Removing leading '/' from member names\n");
- alreadyWarned=TRUE;
- }
- strncpy(header.name, fileName+1, sizeof(header.name));
- }
- else {
- strncpy(header.name, fileName, sizeof(header.name));
- }
-
-#if defined BB_FEATURE_TAR_EXCLUDE
- /* Check for excluded files.... */
- for (tmpList=tbInfo->excludeList; tmpList && *tmpList; tmpList++) {
- /* Do some extra hoop jumping for when directory names
- * end in '/' but the entry in tmpList doesn't */
- if (strncmp( *tmpList, header.name, strlen(*tmpList))==0 || (
- header.name[strlen(header.name)-1]=='/'
- && strncmp( *tmpList, header.name,
- MIN(strlen(header.name)-1, strlen(*tmpList)))==0)) {
- /* Set the mode to something that is not a regular file, thereby
- * faking out writeTarFile into thinking that nothing further need
- * be done for this file. Yes, I know this is ugly, but it works. */
- statbuf->st_mode = 0;
- return( TRUE);
- }
- }
-#endif