Annotation of 42BSD/usr.lib/libU77/rename_.c, revision 1.1.1.1

1.1       root        1: /*
                      2: char   id_rename[] = "@(#)rename_.c    1.2";
                      3:  *
                      4:  * rename a file atomically
                      5:  *
                      6:  * synopsis:
                      7:  *     integer function rename (from, to)
                      8:  *     character*(*) from, to
                      9:  *
                     10:  * where:
                     11:  *     return value will be zero normally, an error number otherwise.
                     12:  */
                     13: 
                     14: #include "../libI77/f_errno.h"
                     15: #include <sys/param.h>
                     16: #ifndef        MAXPATHLEN
                     17: #define MAXPATHLEN     128
                     18: #endif
                     19: 
                     20: long
                     21: rename_ (from, to, frlen, tolen)
                     22: char   *from, *to;
                     23: long   frlen, tolen;
                     24: {
                     25:        char    frbuf[MAXPATHLEN];
                     26:        char    tobuf[MAXPATHLEN];
                     27: 
                     28:        if (frlen <= 0 || tolen <= 0 || *from == ' ' || *to == ' ')
                     29:                return ((long)(errno = F_ERARG));
                     30:        if (frlen >= sizeof frbuf || tolen >= sizeof tobuf)
                     31:                return ((long)(errno = F_ERARG));
                     32:        g_char (from, frlen, frbuf);
                     33:        g_char (to, tolen, tobuf);
                     34:        if (rename (from, to) != 0)
                     35:                return ((long)errno);
                     36:        return (0L);
                     37: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.