char *ft_strsub(char const *s, unsigned int start, size_t len) { char *ret; if (!(ret = (char*)malloc((len + 1) * sizeof(*ret)))) return (NULL); *ret = '\0'; ft_strlcpy(ret, s + start, len + 1); return (ret); }
int main() { char dest[100] = "salut"; char src[] = " hello mon poto"; printf("total len : %u", ft_strlcpy(dest, src, 25)); //printf("total len : %lu", strlcpy(dest, src, 25)); printf("\n"); printf("new str : %s", dest); return (1); }
static void get_format_index(int index, char buf[5]) { const char formats[][5] = { "%hhd", "%hhu", "%hd", "%hu", "%d", "%u", "%lld", "%llu", "%p", "%s", "%.3f", "%.3f", "%L.3f", "%u", "%hhu"}; ft_strlcpy(buf, formats[index], 5); return ; }
int dyn_strpushstr(t_dynstr *dynstr, char *str, size_t len) { if (!dynstr->str) return (-1); if ((dynstr->used + len) >= dynstr->real) { if (static_dyn_expand(dynstr, len) < 0) return (-1); } dynstr->used += ft_strlcpy(dynstr->str + dynstr->used, str, len); return (0); }
int main(void) { const char src1[10] = "ab121"; char dest1[10] = "12123123"; char src[10] = "ab121"; char dest[10] = "12123123"; size_t nb = 8; unsigned int nb2 = 8; //strcat(src, dest); printf("Str: %ld \n", strlcpy(dest1, src1, nb)); printf("Str: %u", ft_strlcpy(dest, src, nb2)); return (0); }
static t_error *error_sglt(int num, char *msg, int action) { static t_error sglt; static int flag = 1; if (flag) { flag = 0; sglt.num = 0; sglt.msg[0] = 0; } if (action == 1) { sglt.num = num; ft_strlcpy(sglt.msg, msg, 128); } return (&sglt); }
char *mlx_int_static_line(char **xpm_data,int *pos,int size) { static char *copy = 0; static int len = 0; int len2; char *str; str = xpm_data[(*pos)++]; if ((len2 = strlen(str))>len) { if (copy) free(copy); if (!(copy = malloc(len2+1))) return ((char *)0); len = len2; } /* strcpy(copy,str); */ ft_strlcpy(copy, str, len2+1); return (copy); }
static int home_cat(const char *src, const char *home, char buf[PATH_MAX + 1]) { size_t nhome; size_t nuid; *buf = '\0'; nhome = ft_strlen(home); while (nhome > 0 && home[nhome - 1] == '/') nhome--; while (nhome > 0 && home[nhome - 1] != '/') nhome--; if (nhome == 0) { ft_strcpy(buf, "/"); nhome = 1; } if (nhome + ft_strlen(src + 1) > PATH_MAX) return (ENAMETOOLONG); nuid = ft_strcharlen(src + 1, '/'); ft_strlcpy(buf, home, nhome + 1); ft_strlcat(buf, src + 1, nhome + nuid + 1); return (0); }