Subject: [netatalk-admins] More Capabilities For Megatron
From: Frank Morton (fmorton@mail.base2inc.com)
Date: Sat Aug 29 1998 - 09:51:27 EDT
As I continue to fine-tune my netatalk based OPI/media management
system, I have found another capability needed in megatron.
The problem: If you rename a netatalk file at the unix level, the old
filename is still embedded in the header, so if you try, as an example,
to make a macbinary file from such a file, megatron picks up the
filename from the header, meaning the macbinary filename does
not match the unix filesystem filename.
Solution: The patch below allows you to specify what filename to
"pretend" is in the header. The syntax is simple:
macbinary -filename "forced_filename" "normal_filename"
The additional patch from my previous patches is below. If anyone
would like the new source, drop me an e-mail and I will send.
>start megatron.c------------------------------------
37d36
< char newfilename[128];
61d59
< *newfilename = 0;
67,71c65
< if ( strcmp( argv [ c ], "-filename" ) == 0 ) {
< if(++c < argc) strcpy(newfilename,argv[c]);
< continue;
< }
< if ( rc = megatron( argv[ c ], module, newfilename, showheaderonly ) !=
0 ) {
---
> if ( rc = megatron( argv[ c ], module , showheaderonly ) != 0 ) {
74d67
< *newfilename = 0;
79c72
< megatron( path, module, newfilename, showheaderonly )
---
> megatron( path, module, showheaderonly )
82d74
< char *newfilename;
120,123c112,115
< for(k=0;k<NUMFORKS;++k) printf("forklen_%d: %u\n", k,
ntohl(fh.forklen[ k ]));
< printf("create_date: %u\n",ntohl(fh.create_date));
< printf("mod_date: %u\n",ntohl(fh.mod_date));
< printf("backup_date: %u\n",ntohl(fh.backup_date));
---
> for(k=0;k<NUMFORKS;++k) printf("forklen_%d: %u\n", k,
h.forklen[ k ]);
> printf("create_date: %u\n",fh.create_date);
> printf("mod_date: %u\n",fh.mod_date);
> printf("backup_date: %u\n",fh.backup_date);
126c118
< printf("flags: %x\n",ntohs(fh.finder_info.fdFlags));
---
> printf("flags: %x\n",fh.finder_info.fdFlags);
132d123
< set the header to the new filename if it has been supplied.
135,136d125
< if ( *newfilename != 0) strcpy(fh.name,newfilename);
<
>start megatron.c------------------------------------
_________________________________
Frank Morton (fmorton@mail.base2inc.com)
Voice: (317) 876-3355
FAX: (317) 876-3398
Home: (317) 574-0815
This archive was generated by hypermail 2b28 : Sat Dec 18 1999 - 16:33:12 EST