diff options
Diffstat (limited to 'gnu/libexec/uucp/libunix/lcksys.c')
-rw-r--r-- | gnu/libexec/uucp/libunix/lcksys.c | 39 |
1 files changed, 23 insertions, 16 deletions
diff --git a/gnu/libexec/uucp/libunix/lcksys.c b/gnu/libexec/uucp/libunix/lcksys.c index 4ece16afe7b5..c1b0efaa3b9e 100644 --- a/gnu/libexec/uucp/libunix/lcksys.c +++ b/gnu/libexec/uucp/libunix/lcksys.c @@ -8,20 +8,32 @@ #include "sysdep.h" #include "system.h" +/* Get the name of a system lock file. */ + +static char *zssys_lock_name P((const struct uuconf_system *qsys, char *z)); + +#define LOCKNAMELEN (sizeof "LCK..12345678") + +static char * +zssys_lock_name (qsys, z) + const struct uuconf_system *qsys; + char *z; +{ + strcpy (z, "LCK.."); + strncpy (z + sizeof "LCK.." - 1, qsys->uuconf_zname, 8); + z[sizeof "LCK.." - 1 + 8] = '\0'; + return z; +} + /* Lock a remote system. */ boolean fsysdep_lock_system (qsys) const struct uuconf_system *qsys; { - char *z; - boolean fret; - - z = zbufalc (strlen (qsys->uuconf_zname) + sizeof "LCK.."); - sprintf (z, "LCK..%.8s", qsys->uuconf_zname); - fret = fsdo_lock (z, FALSE, (boolean *) NULL); - ubuffree (z); - return fret; + char ab[LOCKNAMELEN]; + + return fsdo_lock (zssys_lock_name (qsys, ab), FALSE, (boolean *) NULL); } /* Unlock a remote system. */ @@ -30,12 +42,7 @@ boolean fsysdep_unlock_system (qsys) const struct uuconf_system *qsys; { - char *z; - boolean fret; - - z = zbufalc (strlen (qsys->uuconf_zname) + sizeof "LCK.."); - sprintf (z, "LCK..%.8s", qsys->uuconf_zname); - fret = fsdo_unlock (z, FALSE); - ubuffree (z); - return fret; + char ab[LOCKNAMELEN]; + + return fsdo_unlock (zssys_lock_name (qsys, ab), FALSE); } |