[comp.protocols.appletalk] New CAP? Error -39

johan@dutnak2.UUCP (10/06/89)

For half a year now, we are using CAP 5.0 on our Convex minisuper. Our
Mac II's are equipped with Ethernet cards and use both LocalTalk (Aufs
and printing) and Ethernet (telnet/ftp). It would be nice if we could
"aufs" using EtherTalk. Does anyone know if people are working on a new
CAP release that will support EtherTalk. Anyway, I'm interested in
hearing of new features of a possible new CAP.

Another thing: BUGS or almost BUGS
There's two things that I dislike from the current CAP:
1)	When I drag a file from a "normal" Mac volume to an aufs
	volume, the creation date of the file is updated (to the
	present time) You can see this with e.g. "view by date".
	I find the creation date of a file valuable information, 
	and I hate that it gets lost. 

2)      Error 39 when opening e.g. MacDrawII 1.1 and WriteNow 2.0
	files. I don't know if this is a general CAP problem or only
	on some machines. Anyway, I got help from GertJan Stil 
	(nikhefk, Amsterdam) who sent me a patch. We didn't implement
	it yet, but he says it worked for him. If people are
	interested, let me know, and I'll post it to this newsgroup.

Johan de Haas     tel. +31 15 785188   E-mail: johan@dutnak0.tudelft.nl
Delft University of Technology
P.O Box 5046, 2600 GA Delft, The Netherlands

johan@dutnak2.UUCP (10/08/89)

> 2)      Error 39 when opening e.g. MacDrawII 1.1 and WriteNow 2.0
> 	files. I don't know if this is a general CAP problem or only
> 	on some machines. Anyway, I got help from GertJan Stil 
> 	(nikhefk, Amsterdam) who sent me a patch. We didn't implement
> 	it yet, but he says it worked for him. If people are
> 	interested, let me know, and I'll post it to this newsgroup.


Below follows the patch that supposedly fixes this problem. The file
that has to be altered is afpos.c. When compiling this file, use the
option "-Deof_check"


*** /tmp/,RCSt1007245	Thu Sep 28 11:33:58 1989
--- afpos.c	Thu Sep 28 11:31:55 1989
***************
*** 904,914
  int trans_table_index;
  {
    register char c;
    int cnt,i;
  
! #ifdef notdef
    /* want to probe for eof -- probably there */
    if (reqcnt == 0) {
      *rl = 0;
      return(noErr);
    }

--- 904,914 -----
  int trans_table_index;
  {
    register char c;
    int cnt,i;
  
! #ifdef eof_check
    /* want to probe for eof -- probably there */
    if (reqcnt == 0) {
      *rl = 0;
      return(noErr);
    }

Good luck