]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/catsearch.c
Fix all remaining warnings from gcc -Wall that can be fixed
[netatalk.git] / etc / afpd / catsearch.c
index b20dcba9811d5c7dbc95a0149e413c23e4dc20a8..6115a4e4c306f068509d9036a91859b5d6565e72 100644 (file)
@@ -160,7 +160,7 @@ static int addstack(char *uname, struct dir *dir, int pidx)
 }
 
 /* Removes checked items from top of directory stack. Returns index of the first unchecked elements or -1. */
-static int reducestack()
+static int reducestack(void)
 {
        int r;
        if (save_cidx != -1) {
@@ -180,7 +180,7 @@ static int reducestack()
 } 
 
 /* Clears directory stack. */
-static void clearstack() 
+static void clearstack(void
 {
        save_cidx = -1;
        while (dsidx > 0) {
@@ -233,12 +233,13 @@ static struct finderinfo *unpack_buffer(struct finderinfo *finfo, char *buffer)
 
 /* -------------------- */
 static struct finderinfo *
-unpack_finderinfo(char *upath, struct adouble *adp, struct finderinfo *finfo)
+unpack_finderinfo(struct vol *vol, struct path *path, struct adouble **adp, struct finderinfo *finfo)
 {
        packed_finder  buf;
        void           *ptr;
        
-       ptr = get_finderinfo(upath, adp, &buf);
+    *adp = adl_lkup(vol, path, *adp);
+       ptr = get_finderinfo(vol, path->u_name, *adp, &buf);
        return unpack_buffer(finfo, ptr);
 }
 
@@ -374,8 +375,7 @@ static int crit_check(struct vol *vol, struct path *path) {
 
         /* Check file type ID */
        if ((c1.rbitmap & (1<<DIRPBIT_FINFO)) && c2.finfo.f_type != 0) {
-               adp = adl_lkup(vol, path, adp);
-           finfo = unpack_finderinfo(path->u_name, adp, &finderinfo);
+           finfo = unpack_finderinfo(vol, path, &adp, &finderinfo);
                if (finfo->f_type != c1.finfo.f_type)
                        goto crit_check_ret;
        }
@@ -383,8 +383,7 @@ static int crit_check(struct vol *vol, struct path *path) {
        /* Check creator ID */
        if ((c1.rbitmap & (1<<DIRPBIT_FINFO)) && c2.finfo.creator != 0) {
                if (!finfo) {
-               adp = adl_lkup(vol, path, adp);
-                       finfo = unpack_finderinfo(path->u_name, adp, &finderinfo);
+                       finfo = unpack_finderinfo(vol, path, &adp, &finderinfo);
                }
                if (finfo->creator != c1.finfo.creator)
                        goto crit_check_ret;
@@ -393,8 +392,7 @@ static int crit_check(struct vol *vol, struct path *path) {
        /* Check finder info attributes */
        if ((c1.rbitmap & (1<<DIRPBIT_FINFO)) && c2.finfo.attrs != 0) {
                if (!finfo) {
-               adp = adl_lkup(vol, path, adp);
-                       finfo = unpack_finderinfo(path->u_name, adp, &finderinfo);
+                       finfo = unpack_finderinfo(vol, path, &adp, &finderinfo);
                }
 
                if ((finfo->attrs & c2.finfo.attrs) != c1.finfo.attrs)
@@ -404,8 +402,7 @@ static int crit_check(struct vol *vol, struct path *path) {
        /* Check label */
        if ((c1.rbitmap & (1<<DIRPBIT_FINFO)) && c2.finfo.label != 0) {
                if (!finfo) {
-               adp = adl_lkup(vol, path, adp);
-                       finfo = unpack_finderinfo(path->u_name, adp, &finderinfo);
+                       finfo = unpack_finderinfo(vol, path, &adp, &finderinfo);
                }
                if ((finfo->label & c2.finfo.label) != c1.finfo.label)
                        goto crit_check_ret;
@@ -425,7 +422,8 @@ static int rslt_add ( struct vol *vol, struct path *path, char **buf, int ext)
 {
 
        char            *p = *buf;
-       int             ret, tbuf =0;
+       int             ret;
+       size_t          tbuf =0;
        u_int16_t       resultsize;
        int             isdir = S_ISDIR(path->st.st_mode); 
 
@@ -665,8 +663,8 @@ catsearch_end: /* Exiting catsearch: error condition */
 } /* catsearch() */
 
 /* -------------------------- */
-int catsearch_afp(AFPObj *obj _U_, char *ibuf, int ibuflen,
-                  char *rbuf, int *rbuflen, int ext)
+static int catsearch_afp(AFPObj *obj _U_, char *ibuf, size_t ibuflen,
+                  char *rbuf, size_t *rbuflen, int ext)
 {
     struct vol *vol;
     u_int16_t   vid;
@@ -738,8 +736,8 @@ int catsearch_afp(AFPObj *obj _U_, char *ibuf, int ibuflen,
     }
 
     /* Parse file specifications */
-    spec1 = ibuf;
-    spec2 = ibuf + spec_len + 2;
+    spec1 = (unsigned char*)ibuf;
+    spec2 = (unsigned char*)ibuf + spec_len + 2;
 
     spec1 += 2; 
     spec2 += 2; 
@@ -887,15 +885,15 @@ int catsearch_afp(AFPObj *obj _U_, char *ibuf, int ibuflen,
 } /* catsearch_afp */
 
 /* -------------------------- */
-int afp_catsearch (AFPObj *obj, char *ibuf, int ibuflen,
-                  char *rbuf, int *rbuflen)
+int afp_catsearch (AFPObj *obj, char *ibuf, size_t ibuflen,
+                  char *rbuf, size_t *rbuflen)
 {
        return catsearch_afp( obj, ibuf, ibuflen, rbuf, rbuflen, 0);
 }
 
 
-int afp_catsearch_ext (AFPObj *obj, char *ibuf, int ibuflen,
-                  char *rbuf, int *rbuflen)
+int afp_catsearch_ext (AFPObj *obj, char *ibuf, size_t ibuflen,
+                  char *rbuf, size_t *rbuflen)
 {
        return catsearch_afp( obj, ibuf, ibuflen, rbuf, rbuflen, 1);
 }