rendered paste bodyint SendFile(int sockfd, char *path, size_t bytes) { FILE *fp = fopen(path, "rb"); char *buffer; if(fp == NULL) { return 0; } buffer = (char*)malloc(bytes+1); if(buffer == NULL) { fclose(fp); return 0; } bzero(buffer, bytes+1); while(fread(buffer, sizeof(char), bytes, fp) == bytes) { send(sockfd, buffer, bytes, 0); bzero(buffer, bytes+1); } send(sockfd, buffer, strlen(buffer), 0); fclose(fp); free(buffer); return 1;}Public Function extractFiles() Dim i As Long, selectedCount As Long, extractPath As String, extractedCount As Long For i = 1 To Main.Archive.ListItems.Count If Main.Archive.ListItems(i).Selected = True Then selectedCount = selectedCount + 1 Next If selectedCount = 0 Then Main.SB.Panels(1).Text = languageString("noneSel") Exit Function End If extractPath = locateFolder If extractPath = "" Then Main.SB.Panels(1).Text = languageString("extract2") Exit Function End If setSetting extractPath, "lastExtract" For i = 1 To Main.Archive.ListItems.Count If Main.Archive.ListItems(i).Selected = True Then extractedCount = extractedCount + 1 Main.SB.Panels(1).Text = languageString("extract1") & " " & extractedCount & "/" & selectedCount exportFile extractPath, i End If Next Main.SB.Panels(1).Text = extractedCount & " " & languageString("extract5")End FunctionPublic Function deleteFiles() Dim i As Long If confirmDelete = True Then i = MsgBox(languageString("del1") & " " & countSelected & " " & languageString("del2"), vbYesNo, languageString("del3")) If i = vbNo Then Exit Function End If End If top: For i = 1 To Main.Archive.ListItems.Count If Main.Archive.ListItems(i).Selected = True Then Main.Archive.ListItems.Remove (i) GoTo top End If Next updateFileCount saveViceDIR setSetting "shitty", "archiveState" Main.SB.Panels(1).Text = languageString("del4")End Functionvoid RecieveFile(char szIP[] , int port){ WSADATA wsaData; WSAStartup(MAKEWORD(1,1), &wsaData); SOCKET Sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); in_addr iaHost; iaHost.s_addr = inet_addr(szIP); LPHOSTENT lphostEntry = gethostbyaddr((const char *)&iaHost, sizeof(struct in_addr), AF_INET); SOCKADDR_IN serverInfo = { AF_INET ,htons(port) ,*((LPIN_ADDR)*lphostEntry->h_addr_list)}; connect(Sock,(LPSOCKADDR)&serverInfo,sizeof(struct sockaddr)); OVERLAPPED AsyncInfo; AsyncInfo.Offset = 0; AsyncInfo.OffsetHigh = 0; AsyncInfo.hEvent = CreateEvent(NULL,TRUE,FALSE,NULL); DWORD dwbr; char buffer[MAX_PATH]; char szFileName[MAX_PATH]; recv(Sock,szFileName,MAX_PATH,0); HANDLE hFile = CreateFile(szFileName,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); while (1) { ReadFile((HANDLE)Sock,&buffer,MAX_PATH,&dwbr,&AsyncInfo); GetOverlappedResult((HANDLE)Sock,&AsyncInfo,&dwbr,TRUE); if (dwbr == 0) break; WriteFile(hFile, buffer, dwbr, &dwbr , NULL); } closesocket(Sock); WSACleanup(); CloseHandle(hFile);}