00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 static const char *rcsid = "$Header: /export/cvs-gridlab/wp-1/Codes/GATEngine/C-reference/src/GATUtil.c,v 1.6 2004/04/05 11:49:44 hartmutkaiser Exp $";
00019
00020 #include <stdlib.h>
00021 #include <string.h>
00022
00023 #include "GATUtil.h"
00024 #include "GATErrors.h"
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 char *
00039 GATUtil_strdup(char const *str)
00040 {
00041 size_t length = strlen(str) + 1;
00042 char *msg = (char *) malloc(length);
00043 if (NULL != msg)
00044 {
00045 strcpy(msg, str);
00046 }
00047 return msg;
00048 }
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061 void *
00062 GATUtil_memdup(void const *buffer, GATuint32 size)
00063 {
00064 void *new_buffer = malloc(size);
00065 if (NULL != new_buffer)
00066 {
00067 memcpy(new_buffer, buffer, size);
00068 }
00069 return new_buffer;
00070 }
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085 GATResult
00086 GATUtil_appendstring(char **str, char const *to_append)
00087 {
00088 GATBool new_string = (NULL != *str) ? GATFalse : GATTrue;
00089 unsigned int len = (NULL != *str) ? strlen(*str) + 1 : 0;
00090 char *new_str = (char *)realloc(*str, len + strlen(to_append) + 1);
00091 if (NULL == new_str)
00092 {
00093 return GAT_MEMORYFAILURE;
00094 }
00095 if (GATTrue == new_string)
00096 {
00097 new_str[0] = '\0';
00098 }
00099 strcat(new_str, to_append);
00100 *str = new_str;
00101 return GAT_SUCCESS;
00102 }
00103