Changeset 18 for branches/1.0/src
- Timestamp:
- Apr 16, 2010, 5:51:24 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/1.0/src/uni.c
r17 r18 61 61 62 62 /* replace one string by another */ 63 char * stringReplace(char *search, char *replace, char *string) { 64 char *tempString, *searchStart; 65 int len=0; 66 // preuefe ob Such-String vorhanden ist 67 searchStart = strstr(string, search); 68 if(searchStart == NULL) { 69 return string; 70 } 71 // Speicher reservieren 72 tempString = (char*) malloc((strlen(string) + strlen(replace) - strlen(search))* sizeof(char)); 73 // temporaere Kopie anlegen 74 strcpy(tempString, string); 75 // ersten Abschnitt in String setzen 76 len = searchStart - string; 77 strncpy(string, tempString, len); 78 // zweiten Abschnitt anhaengen 79 strcat(string, replace); 80 // dritten Abschnitt anhaengen 81 len += strlen(search); 82 strcat(string, (char *)tempString+len); 83 return string; 84 } 85 63 char * searchReplace(char *search, char *replace, char *string) 64 { 65 // creat init some variables 66 char * tempString, *searchStart; 67 int len = 0; 68 69 // do we find the searched string at all 70 searchStart = strstr(string, search); 71 if (searchStart == NULL) 72 { 73 return string; 74 } 75 76 // allocate needed space for the tempstring 77 tempString = malloc((strlen(string) - strlen(search) + strlen(replace)) * sizeof(char)); 78 79 // copy first part 80 len = searchStart - string; 81 strncpy(tempString, string, len); 82 83 // add the replaced string 84 strcat(tempString, replace); 85 86 // add the last part 87 len += strlen(search); 88 strcat(tempString, string+len); 89 90 // memory leek!!! free(tempString); 91 return tempString; 92 } 86 93 87 94 /* Password encryption/decryption routines from ndpsmb.c */ … … 1064 1071 1065 1072 sprintf(j_parms,parameters); 1066 s tringReplace("%file%",filename,j_parms);1073 searchReplace("%file%",filename,j_parms); 1067 1074 1068 1075 rc = spawnlp(P_WAIT,binfile,binfile,j_parms,NULL);
Note:
See TracChangeset
for help on using the changeset viewer.