src/util/strsav.c File Reference

#include <stdio.h>
#include "util.h"
Include dependency graph for strsav.c:

Go to the source code of this file.

Functions

char * util_strsav (char const *s)
char * util_inttostr (int i)
char * util_strcat3 (char const *str1, char const *str2, char const *str3)
char * util_strcat4 (char const *str1, char const *str2, char const *str3, char const *str4)
char * strstr (char const *s, char const *pat)
char * strchr (char const *s, int c)

Function Documentation

char* strchr ( char const *  s,
int  c 
)

Function********************************************************************

Synopsis [required]

Description [optional]

SideEffects [required]

SeeAlso [optional]

Definition at line 141 of file strsav.c.

00142 {
00143    for (; *s != '\0'; s++) {
00144      if (*s == c) {
00145        return (char *)s;
00146      }
00147    }
00148    return NULL;
00149    
00150 }

char* strstr ( char const *  s,
char const *  pat 
)

Function********************************************************************

Synopsis [required]

Description [optional]

SideEffects [required]

SeeAlso [optional]

Definition at line 113 of file strsav.c.

00116 {
00117   int len;
00118 
00119   len = strlen(pat);
00120   for (; *s != '\0'; ++s)
00121     if (*s == *pat && memcmp(s, pat, len) ==  0) {
00122       return (char *)s; /* UGH */
00123     }
00124   return NULL;
00125 }

char* util_inttostr ( int  i  ) 

Definition at line 31 of file strsav.c.

00032 {
00033   unsigned int mod, len;
00034   char *s;
00035   
00036   if (i == 0)
00037     len = 1;
00038   else {
00039     if (i < 0) {
00040       len = 1;
00041       mod = -i;
00042     }
00043     else {
00044       len = 0;
00045       mod = i;
00046     }
00047     len += (unsigned) floor(log10(mod)) + 1;
00048   }
00049 
00050   s = ALLOC(char, len + 1);
00051   sprintf(s, "%d", i);
00052   
00053   return s;
00054 }

char* util_strcat3 ( char const *  str1,
char const *  str2,
char const *  str3 
)

Definition at line 62 of file strsav.c.

00066 {
00067   char *str = ALLOC(char, strlen(str1) + strlen(str2) + strlen(str3) + 1);
00068   
00069   (void) strcpy(str, str1);
00070   (void) strcat(str, str2);
00071   (void) strcat(str, str3);
00072 
00073   return (str);
00074 }

char* util_strcat4 ( char const *  str1,
char const *  str2,
char const *  str3,
char const *  str4 
)

Definition at line 82 of file strsav.c.

00087 {
00088   char *str = ALLOC(char, strlen(str1) + strlen(str2) + strlen(str3) +
00089                     strlen(str4) + 1);
00090   
00091   (void) strcpy(str, str1);
00092   (void) strcat(str, str2);
00093   (void) strcat(str, str3);
00094   (void) strcat(str, str4);
00095 
00096   return (str);
00097 }

char* util_strsav ( char const *  s  ) 

Definition at line 17 of file strsav.c.

00018 {
00019     if(s == NIL(char)) {  /* added 7/95, for robustness */
00020        return NIL(char);
00021     }
00022     else {
00023        return strcpy(ALLOC(char, strlen(s)+1), s);
00024     }
00025 }


Generated on Tue Jan 12 13:57:29 2010 for glu-2.2 by  doxygen 1.6.1