All pastes #437686 Raw Edit

Untitled

public cpp v1 · immutable
·published 2007-04-13 05:28 UTC
rendered paste body
int 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);}