~usb-creator-hackers/usb-creator/trunk

« back to all changes in this revision

Viewing changes to tools/pylauncher/str.c

  • Committer: Brian Murray
  • Date: 2021-04-02 15:52:52 UTC
  • Revision ID: brian@canonical.com-20210402155252-tk5d4a6lczeld0e0
Tags: 0.3.9
releasing package usb-creator version 0.3.9

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#include <stdlib.h>
2
 
#include <string.h>
3
 
 
4
 
char* concat(char* str1, char* str2, int free_old)
5
 
{
6
 
    if(!str1 || !str2) return NULL;
7
 
    size_t len1 = strlen(str1);
8
 
    size_t len2 = strlen(str2);
9
 
    char* result = (char*) malloc(len1+len2+1);
10
 
    if(!result) return NULL;
11
 
    strcpy(result, str1);
12
 
    strcpy(result+len1, str2);
13
 
    if(free_old) free(str1);
14
 
    return result;
15
 
}
16
 
 
17
 
char* concatn(char* str1, char* str2, size_t len2, int free_old)
18
 
{
19
 
    if(!str1 || !str2) return NULL;
20
 
    size_t len1 = strlen(str1);
21
 
    char* result = (char*) malloc(len1+len2+1);
22
 
    if(!result) return NULL;
23
 
    strcpy(result, str1);
24
 
    strncpy(result+len1, str2, len2);
25
 
    result[len1+len2] = '\0';
26
 
    if(free_old) free(str1);
27
 
    return result;
28
 
}
29
 
 
30
 
void freestr(char** ptr) {
31
 
    if(*ptr) free(*ptr);
32
 
    *ptr = 0;
33
 
}
34