str-fixup-20030214
authorJim Rees <rees@umich.edu>
Fri, 14 Feb 2003 19:07:18 +0000 (19:07 +0000)
committerJim Rees <rees@umich.edu>
Fri, 14 Feb 2003 19:07:18 +0000 (19:07 +0000)
Protect afs_str*() in afs_util.c with #ifndef
Use builtin strcasecmp, strcat for OBSD
Use afs_strcat in afs_dynroot.c

src/afs/OBSD/osi_machdep.h
src/afs/afs_dynroot.c
src/afs/afs_prototypes.h
src/afs/afs_util.c

index cd453ca..a57c62f 100644 (file)
@@ -80,6 +80,10 @@ extern struct timeval time;
 #define osi_GetTime(x) microtime(x)
 #define osi_Time()     (time.tv_sec)
 
+/* str */
+#define afs_strcasecmp(s1, s2) strncasecmp((s1), (s2), 65535)
+#define afs_strcat(s1, s2)     strcat((s1), (s2))
+
 /* other */
 #define afs_bufferpages bufpages
 #ifndef iodone
index 93e0727..a640b95 100644 (file)
@@ -303,7 +303,7 @@ static void afs_RebuildDynroot(void)
        dotLen = strlen(c->cellName) + 2;
        dotCell = afs_osi_Alloc(dotLen);
        strcpy(dotCell, ".");
-       strcat(dotCell, c->cellName);
+       afs_strcat(dotCell, c->cellName);
 
        afs_dynroot_computeDirEnt(c->cellName, &curPage, &curChunk);
        afs_dynroot_computeDirEnt(dotCell, &curPage, &curChunk);
@@ -320,7 +320,7 @@ static void afs_RebuildDynroot(void)
        dotLen = strlen(ca->alias) + 2;
        dotCell = afs_osi_Alloc(dotLen);
        strcpy(dotCell, ".");
-       strcat(dotCell, ca->alias);
+       afs_strcat(dotCell, ca->alias);
 
        afs_dynroot_computeDirEnt(ca->alias, &curPage, &curChunk);
        afs_dynroot_computeDirEnt(dotCell, &curPage, &curChunk);
@@ -374,7 +374,7 @@ static void afs_RebuildDynroot(void)
        dotLen = strlen(c->cellName) + 2;
        dotCell = afs_osi_Alloc(dotLen);
        strcpy(dotCell, ".");
-       strcat(dotCell, c->cellName);
+       afs_strcat(dotCell, c->cellName);
        afs_dynroot_addDirEnt(dirHeader, &curPage, &curChunk,
                              c->cellName, VNUM_FROM_CIDX_RW(cellidx, 0));
        afs_dynroot_addDirEnt(dirHeader, &curPage, &curChunk,
@@ -392,7 +392,7 @@ static void afs_RebuildDynroot(void)
        dotLen = strlen(ca->alias) + 2;
        dotCell = afs_osi_Alloc(dotLen);
        strcpy(dotCell, ".");
-       strcat(dotCell, ca->alias);
+       afs_strcat(dotCell, ca->alias);
        afs_dynroot_addDirEnt(dirHeader, &curPage, &curChunk,
                              ca->alias, VNUM_FROM_CAIDX_RW(aliasidx, 0));
        afs_dynroot_addDirEnt(dirHeader, &curPage, &curChunk,
@@ -554,7 +554,7 @@ int afs_DynrootNewVnode(struct vcache *avc, struct AFSFetchStatus *status)
                linklen = rw + namelen;
                avc->linkData = afs_osi_Alloc(linklen + 1);
                strcpy(avc->linkData, rw ? "." : "");
-               strcat(avc->linkData, realName);
+               afs_strcat(avc->linkData, realName);
            }
 
            status->UnixModeBits = 0755;
@@ -574,8 +574,8 @@ int afs_DynrootNewVnode(struct vcache *avc, struct AFSFetchStatus *status)
            linklen = 1 + namelen + 10;
            avc->linkData = afs_osi_Alloc(linklen + 1);
            strcpy(avc->linkData, rw ? "%" : "#");
-           strcat(avc->linkData, c->cellName);
-           strcat(avc->linkData, ":root.cell");
+           afs_strcat(avc->linkData, c->cellName);
+           afs_strcat(avc->linkData, ":root.cell");
 
            status->UnixModeBits = 0644;
            afs_PutCell(c, READ_LOCK);
index 09c16f0..de4b548 100644 (file)
@@ -665,11 +665,19 @@ extern void afs_SetPrimary(register struct unixuser *au, register int aflag);
 
 
 /* afs_util.c */
+#ifndef afs_cv2string
 extern char *afs_cv2string(char *ttp, afs_uint32 aval);
+#endif
+#ifndef afs_strcasecmp
 extern int afs_strcasecmp(char *s1, char *s2);
-extern char *afs_strdup(char *s);
+#endif
+#ifndef afs_strcat
 extern char *afs_strcat(char *s1, char *s2);
+#endif
+#ifndef afs_strchr
 extern char *afs_strchr(char *s, int c);
+#endif
+extern char *afs_strdup(char *s);
 extern void print_internet_address(char *preamble, struct srvAddr *sa,
                            char *postamble, int flag);
 extern afs_int32 afs_data_pointer_to_int32(const void *p);
index 4ffa493..751423a 100644 (file)
@@ -48,6 +48,7 @@ RCSID("$Header$");
 #include <sys/fp_io.h>
 #endif
 
+#ifndef afs_cv2string
 char *afs_cv2string(char *ttp, afs_uint32 aval)
 {
     register char *tp = ttp;
@@ -68,7 +69,9 @@ char *afs_cv2string(char *ttp, afs_uint32 aval)
     return tp;
 
 } /*afs_cv2string*/
+#endif
 
+#ifndef afs_strcasecmp
 int afs_strcasecmp(char *s1, char *s2)
 {
     while (*s1 && *s2) {
@@ -84,7 +87,9 @@ int afs_strcasecmp(char *s1, char *s2)
 
     return *s1 - *s2;
 }
+#endif
 
+#ifndef afs_strcat
 char *afs_strcat(char *s1, char *s2)
 {
     char *os1;
@@ -97,7 +102,9 @@ char *afs_strcat(char *s1, char *s2)
        ;
     return (os1);
 }
+#endif
 
+#ifndef afs_strchr
 char *afs_strchr(char *s, int c)
 {
     char *p;
@@ -107,6 +114,7 @@ char *afs_strchr(char *s, int c)
            return p;
     return NULL;
 }
+#endif
 
 char *afs_strdup(char *s)
 {