[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

re: Efax: can't rename lockfile ...



> efax: 01:09 Warning: local ID (0331-461310) has non-standard characters
> efax: 01:09 removed stale lock /var/lock/LCK..ttyS1 from pid 1249
> efax: 01:09 Error: can't rename lock file TMP..01274 to : No such file or

I believe there is a bug in efax.  After I discovered this, I got sidetracted
and later neglected to file a bug report.  The way I fixed the problem was to
recompile efax. In efax.c function main(), lkfile (array of lockfiles) is:

    char *icmd[3][ MAXICMD ], *lkfile [ MAXLKFILE+1 ] ;

Later, assignments to lkfile are made:

    case 'x': 
      if ( nlkfile < MAXLKFILE ) lkfile [ nlkfile++ ] = nxtoptarg ; 
      else err = msg ( "E2too many lock files" ) ; 
      break ;

Then lkfile is passed as an argument to some routines (begin_session()
and answer()) where it is tested as a null terminated list of lockfiles.
I could not see where lkfile had been properly null terminated, so I
added a line to efax.c (about line 2076) and recompiled:
 
     lkfile[nlkfile] = NULL;

This fixed it for me, but note that if you need efax and decide to try this
on a Debian box, you must apply the Debian patches and define DEBIAN for the
make. (eg: make 'CFLAGS= -O -DDEBIAN')

At the time I wondered how efax could ever have worked for anybody. Now I
wonder why I never filed a bug report.  Sorry, but I will now.
-----------------------------------------------------------------------------
Bill Wilson <billw@wt.net>


Reply to: