]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE14-up-prototypes-20071211
authorDerrick Brashear <shadow@dementia.org>
Tue, 11 Dec 2007 16:36:54 +0000 (16:36 +0000)
committerDerrick Brashear <shadow@dementia.org>
Tue, 11 Dec 2007 16:36:54 +0000 (16:36 +0000)
LICENSE IPL10

move changes from 1.5 branch here so we have the needed prototypes

src/venus/up.c

index edb32d05d652cd8d1a7a833f276a21e1ff9b0bfd..f35814ee8d28e69b8346af8ca7f3b2939cd4ca2c 100644 (file)
@@ -14,9 +14,6 @@ RCSID
     ("$Header$");
 
 /* missing type from C language */
-#define Boolean short
-#define true 1
-#define false 0
 
 #include <errno.h>
 #ifdef AFS_AIX32_ENV
@@ -59,16 +56,16 @@ extern sys_nerr;
 extern char *sys_errlist[];
 #endif
 
-Boolean verbose = false;
-Boolean renameTargets = false;
-Boolean oneLevel = false;
-Boolean preserveDate = true;
-Boolean preserveMountPoints = false;
-Boolean forceOverwrite = false;
+short verbose = 0;
+short renameTargets = 0;
+short oneLevel = 0;
+short preserveDate = 1;
+short preserveMountPoints = 0;
+short forceOverwrite = 0;
 
 int pageSize;
-Boolean setacl = true;
-Boolean oldAcl = false;
+short setacl = 1;
+short oldAcl = 0;
 char file1[MAXPATHLEN], file2[MAXPATHLEN];
 
 #define        MAXSIZE 2048
@@ -81,6 +78,12 @@ struct OldAcl {
     char data[1];
 };
 
+static void ScanArgs(int argc, char *argv[]);
+static short MakeParent(char *file, afs_int32 owner);
+static int Copy(char *file1, char *file2, short recursive, int level);
+static int isMountPoint(char *name, struct ViceIoctl *blob);
+
+
 /* ************************************************************ */
 /*                                                              */
 /* main program                                                         */
@@ -89,10 +92,8 @@ struct OldAcl {
 
 #include "AFS_component_version_number.c"
 
-main(argc, argv)
-     int argc;
-     char *argv[];
-
+int
+main(int argc, char *argv[])
 {
 #ifdef AFS_AIX32_ENV
     /*
@@ -115,16 +116,15 @@ main(argc, argv)
 
     /* now read each line of the CopyList */
     if (Copy(file1, file2, !oneLevel, 0))
-       exit(1);                /* some type of failure */
+       return(1);              /* some type of failure */
 
-    exit(0);
+    return(0);
 }
 
-void
-ScanArgs(argc, argv)
-     int argc;
-     char *argv[];
 
+#define USAGE "usage: up [-v1frxm] from to\n"
+static void
+ScanArgs(int argc, char *argv[])
 {
     /* skip program name */
     argc--, argv++;
@@ -135,39 +135,39 @@ ScanArgs(argc, argv)
 
        switch (*++cp) {
        case 'v':
-           verbose = true;
+           verbose = 1;
            break;
 
        case '1':
-           oneLevel = true;
+           oneLevel = 1;
            break;
 
        case 'r':
-           renameTargets = true;
+           renameTargets = 1;
            break;
 
        case 'f':
-           forceOverwrite = true;
+           forceOverwrite = 1;
            break;
 
        case 'x':
-           preserveDate = false;
+           preserveDate = 0;
            break;
 
        case 'm':
-           preserveMountPoints = true;
+           preserveMountPoints = 1;
            break;
 
        default:
            fprintf(stderr, "Unknown option: '%c'\n", *cp);
-           fprintf(stderr, "usage: up [-v1frxm] from to\n");
+           fprintf(stderr, USAGE);
            exit(1);
        }
        argc--, argv++;
     }
 
     if (argc != 2) {
-       fprintf(stderr, "usage: up [-v1frx] from to\n");
+       fprintf(stderr, USAGE);
        exit(1);
     }
 
@@ -181,13 +181,11 @@ ScanArgs(argc, argv)
 /*
  * MakeParent
  *     Make sure the parent directory of this file exists.  Returns
- *     true if it exists, false otherwise.  Note: the owner argument
+ *     1 if it exists, 0 otherwise.  Note: the owner argument
  *     is a hack.  All directories made will have this owner.
  */
-Boolean
-MakeParent(file, owner)
-     char *file;
-     afs_int32 owner;
+static short
+MakeParent(char *file, afs_int32 owner)
 {
     char parent[MAXPATHLEN];
     char *p;
@@ -206,7 +204,7 @@ MakeParent(file, owner)
 
     if (stat(parent, &s) < 0) {
        if (!MakeParent(parent, owner))
-           return (false);
+           return (0);
 
        if (verbose) {
            printf("Creating directory %s\n", parent);
@@ -216,7 +214,7 @@ MakeParent(file, owner)
        mkdir(parent, 0777);
        chown(parent, owner, -1);
     }
-    return (true);
+    return (1);
 }                              /*MakeParent */
 
 
@@ -225,12 +223,8 @@ MakeParent(file, owner)
  *     This does the bulk of the work of the program.  Handle one file,
  *     possibly copying subfiles if this is a directory
  */
-Copy(file1, file2, recursive, level)
-     char *file1;              /* input file name */
-     char *file2;              /* output file name */
-     Boolean recursive;                /* true if directory should be copied */
-     int level;                        /* level of recursion: 0, 1, ... */
-
+static int
+Copy(char *file1, char *file2, short recursive, int level)
 {
     struct stat s1, s2;                /*Stat blocks */
     struct ViceIoctl blob;
@@ -610,7 +604,7 @@ Copy(file1, file2, recursive, level)
            rcode = 1;
        }
 
-       if (setacl == true) {
+       if (setacl == 1) {
            if (verbose) {
                printf("  Set acls for %s\n", file2);
                fflush(stdout);
@@ -623,6 +617,11 @@ Copy(file1, file2, recursive, level)
 
            if (oldAcl) {
                /* Get an old-style ACL and convert it */
+                if (verbose) {
+                    printf("  Getting old style acl\n");
+                    fflush(stdout);
+                }
+
                for (i = 1; i < strlen(file1); i++)
                    if (file1[i] == '/')
                        break;
@@ -638,7 +637,11 @@ Copy(file1, file2, recursive, level)
                close(tfd);
                if (code < 0) {
                    if (errno == EINVAL) {
-                       setacl = false;
+                       setacl = 0;
+                        if (verbose) {
+                            printf("  _VICEIOCTL(4) returns EINVAL\n");
+                            fflush(stdout);
+                        }
                    } else {
                        return 1;
                    }
@@ -651,10 +654,19 @@ Copy(file1, file2, recursive, level)
            } /*Grab and convert old-style ACL */
            else {
                /* Get a new-style ACL */
+                if (verbose) {
+                    printf("  Getting new style acl\n");
+                    fflush(stdout);
+                }
+
                code = pioctl(file1, _VICEIOCTL(2), &blob, 1);
                if (code < 0) {
                    if (errno == EINVAL) {
-                       setacl = false;
+                       setacl = 0;
+                        if (verbose) {
+                            printf("  _VICEIOCTL(2) returns EINVAL\n");
+                            fflush(stdout);
+                        }
                    } else {
                        perror("getacl ");
                        return 1;
@@ -665,7 +677,11 @@ Copy(file1, file2, recursive, level)
            /*
             * Now, set the new-style ACL.
             */
-           if (setacl == true) {
+           if (setacl == 1) {
+                if (verbose) {
+                    printf("  Setting new style acl\n");
+                    fflush(stdout);
+                }
                blob.out = aclspace;
                blob.in = aclspace;
                blob.out_size = 0;
@@ -673,7 +689,11 @@ Copy(file1, file2, recursive, level)
                code = pioctl(file2, _VICEIOCTL(1), &blob, 1);
                if (code) {
                    if (errno == EINVAL) {
-                       setacl = false;
+                       setacl = 0;
+                        if (verbose) {
+                            printf("  _VICEIOCTL(1) returns EINVAL\n");
+                            fflush(stdout);
+                        }
                    } else {
                        fprintf(stderr, "Couldn't set acls for %s\n", file2);
                        return 1;
@@ -681,7 +701,7 @@ Copy(file1, file2, recursive, level)
                }
            }
 
-           if (setacl == false) {
+           if (setacl == 0) {
                printf("Not setting acls\n");
            }
        }
@@ -700,10 +720,8 @@ Copy(file1, file2, recursive, level)
 }                              /*Copy */
 
 
-int
-isMountPoint(name, blob)
-     char *name;
-     struct ViceIoctl *blob;
+static int
+isMountPoint(char *name, struct ViceIoctl *blob)
 {
     afs_int32 code;
     char true_name[1024];      /*dirname */