gstr.c
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include <int.h>
00024
00025
00026
00027
00028
00029
00030
00031 void
00032 MHD__asn1_str_cat (char *dest, size_t dest_tot_size, const char *src)
00033 {
00034 size_t str_size = strlen (src);
00035 size_t dest_size = strlen (dest);
00036
00037 if (dest_tot_size - dest_size > str_size)
00038 {
00039 strcat (dest, src);
00040 }
00041 else
00042 {
00043 if (dest_tot_size - dest_size > 0)
00044 {
00045 strncat (dest, src, (dest_tot_size - dest_size) - 1);
00046 dest[dest_tot_size - 1] = 0;
00047 }
00048 }
00049 }
00050
00051 void
00052 MHD__asn1_str_cpy (char *dest, size_t dest_tot_size, const char *src)
00053 {
00054 size_t str_size = strlen (src);
00055
00056 if (dest_tot_size > str_size)
00057 {
00058 strcpy (dest, src);
00059 }
00060 else
00061 {
00062 if (dest_tot_size > 0)
00063 {
00064 strncpy (dest, src, (dest_tot_size) - 1);
00065 dest[dest_tot_size - 1] = 0;
00066 }
00067 }
00068 }