Rsync with OS X 10.3

Jason dualusbibook at yahoo.ca
Sat Jan 24 20:41:15 GMT 2009


I've done some digging around and using the condition if(unicharName[index]==0x003B) /* == ':' */ we never meet this case.  I tried changing the unicharName[index]==':' and the subsequent slash unicharName.  After rsync is compiled I am able to handle the slash cases again.

We are dealing with the single character in the array so would this be safe?

The only oddity now is if I run this for the first time on the backupbouncer src and dst folder I get the following error:
rsync: rsync_xal_set: lsetxattr("Src/60-bsd-flags/dir-with-flags","com.apple.FinderInfo") failed: Unknown error: -5000 (-5000)

When I run again I get no error.

I'm using the following argumens: -aNXxH --protect-args --fileflags --force-change

Jason


--- On Sat, 1/24/09, Mac User FR <macuserfr at free.fr> wrote:

> From: Mac User FR <macuserfr at free.fr>
> Subject: Re: Rsync with OS X 10.3
> To: dualusbibook at yahoo.ca
> Cc: rsync at lists.samba.org
> Received: Saturday, January 24, 2009, 5:35 AM
> Le 24 janv. 09 à 08:46, Jason a écrit :
> 
> > Hi Again,
> > I may have spoke too soon regarding the second :/
> patch.  Using the first patch (non-unicode version) I am
> able to deal with the :/ issue.  However, I've
> recompiled using the second fix and I am now getting the
> error:
> > 
> > rsync: get_xattr_names: llistxattr("Src/test :
> one",1024) failed: Invalid argument (22)
> > rsync error: some files/attrs were not transferred
> (see previous errors) (code 23) at main.c(1040)
> [sender=3.0.5]
> > 
> > The folder I'm trying to copy is "Test /
> one".
> > 
> > I've separated my different tests now so I
> won't be able to confuse which patch has been applied
> where.  I may have gotten my folders mixed before.  I'm
> not actually working on the 10.3 but rather through the
> terminal.
> > 
> > Any idea on what went wrong with the unicode patch?
> > 
> > Jason
> > 
> Hmmm, I have no clue of what's wrong.
> 
> You may try a debug output like this:
> 
> +	unsigned int index=0;
> 
> = 	CFStringGetCharacters(cfStringName, range, unicharName);
> 	while(index<range.length)
> 	{
> 		if(unicharName[index]==0x003B) /* == ':' */
> 		{
> 			fprintf(stderr, "index=%u\tcharacter=%c\t
> replaced by=%c\n", index, (char)unicharName[index],
> 0x2F);
> 			unicharName[index]=0x002F; /* == '/' */
> 		}
> 		index++;
> 	}
> = 	carbon_error=FSMakeFSRefUnicode(&parentRef,
> range.length, unicharName, kTextEncodingUnknown, ref);
> 
> It should show you which character is replaced. For your
> folder "Test / one" it should output (index starts
> from 0):
> index=5	character=:	replaced by=/
> 
> If it output another thing, I'm curious to know what.
> For debugging you may use -vvvv to enable more (maybe
> useful) debug messages.
> 
> Vitorio


      __________________________________________________________________
Instant Messaging, free SMS, sharing photos and more... Try the new Yahoo! Canada Messenger at http://ca.beta.messenger.yahoo.com/


More information about the rsync mailing list