char* hostname_to_messagename(char* host_name) { int i = 0, j = 0; char nr_of_chars = 0; char* result = NULL; char delims[] = "."; char tokens[D][D]; int length = strlen(host_name) + 2; char dim[1]; char* message_name; result = strtok(host_name, delims); while(result != NULL) { j++; strcpy(tokens[i], result); i++; result = strtok(NULL,delims); } message_name = (char*)malloc(length*sizeof(char)); if(message_name == NULL) { error("Alocare esuata!\n"); } for(i = 0; i < j; i++) { dim[0] = (char)strlen(tokens[i]); printf("dimensiune token:%d\n",dim[0]); if(i == 0) { strcpy(message_name, dim); } else { strcat(message_name, dim); } strcat(message_name, tokens[i]); } dim[0] = 0; printf("message name de la sursa este: %s cu lungimea:%d inainte\n",message_name, strlen(message_name)); //strcat(message_name, "0"); // message_name[strlen(message_name)-2] = 0; // message_name[strlen(message_name)] = 0; printf("%d\n",message_name[strlen(message_name)-4]); printf("message name de la sursa este: %s cu lungimea:%d\n",message_name, strlen(message_name)); return message_name; }