<commit_before>#include "rvrx.h"

#if AKTYWNY_RIVER

#include <string.h>
#include <stdlib.h>
#include <errno.h>

/* Główny i jedyny obiekt tej klasy. Wszystkie odwołania powinny być do niego
 * kierowane, jeśli chcemy robić coś z siecią TCP. */
River TopRiver;

River::River(void)
{
 aktywna = 0; /* Jeszcze nikt nie chciał pracować w sieci TCP */
}

/* Przygotowuje sieć do działania. Funkcja może być wywoływana wielokrotnie,
 * ale zadziała tylko raz, za pierwszym wywołaniem. Wartość zwrotna: 1 - OK,
 * 0 - wystąpił błąd */
int River::Init(void)
{
 int status;
 status = 0;
 if(aktywna == 0)
 {
#ifdef PLATFORM_WIN
  if(WSAStartup(MAKEWORD(1,1), &wsd) == 0)
  {
   status = 1;
  }
  else
  {
   SygError("Nie można wczytać biblioteki Winsock 1.1");
  }
#endif
  aktywna = 1;
 }
 return status;
}

void River::Finish(void)
{
 if(aktywna)
 {
#ifdef PLATFORM_WIN
  WSACleanup();
#endif
  aktywna = 0;
 }
}

/* Zaczyna nasłuchiwać na podanym porcie nadchodzącego połączenia TCP. Zwracany
 * jest numer socketu lub -1 dla poinformowania o błędnym zadziałaniu. */
int River::OpenDaemonTCP(char * PortName)
{
 int status;
 int s;
 int s2;
 int tmplen;
 int plik;
 status = -1;
 Init();
 s = InitStruct( & sin);
 if(s != -1)
 {
#if AKTYWNY_REUSEADDR
  /* qaz - Trzeba się zastanowić, co w ogóle daje ta opcja. Jeśli to będzie
   * wiadome, to w tym miejscu należy to odpowiednio skomentować. */
  tmplen = 1;
  setsockopt(s, SOL_SOCKET, SO_REUSEADDR,
#ifdef PLATFORM_WIN
             (char *)
#endif
             & tmplen, sizeof(tmplen));
#endif
  if(TopRiver.FillPort( & sin, PortName))
  {
   s2 = bind(s, (struct sockaddr *) & sin, sizeof(sin));
   if(s2 != -1)
   {
    listen(s, 3); /* Tu poczekamy na zgłoszenie */
#ifdef PLATFORM_WIN
#if 0
    printf("Po listen() WSAGetLastError = %d\n", WSAGetLastError());
#endif
#endif
    tmplen = sizeof(sin);
    plik = accept(s,
/* #ifdef PLATFORM_LINUX qaz */
#if 1
                  (struct sockaddr *)
#endif
                  & sin,
#ifdef PLATFORM_LINUX
                  (unsigned int *)
#endif
                  & tmplen);<commit_msg>Rename to s_odt<commit_after>#include "rvrx.h"

#if AKTYWNY_RIVER

#include <string.h>
#include <stdlib.h>
#include <errno.h>

/* Główny i jedyny obiekt tej klasy. Wszystkie odwołania powinny być do niego
 * kierowane, jeśli chcemy robić coś z siecią TCP. */
River TopRiver;

River::River(void)
{
 aktywna = 0; /* Jeszcze nikt nie chciał pracować w sieci TCP */
}

/* Przygotowuje sieć do działania. Funkcja może być wywoływana wielokrotnie,
 * ale zadziała tylko raz, za pierwszym wywołaniem. Wartość zwrotna: 1 - OK,
 * 0 - wystąpił błąd */
int River::Init(void)
{
 int status;
 status = 0;
 if(aktywna == 0)
 {
#ifdef PLATFORM_WIN
  if(WSAStartup(MAKEWORD(1,1), &wsd) == 0)
  {
   status = 1;
  }
  else
  {
   SygError("Nie można wczytać biblioteki Winsock 1.1");
  }
#endif
  aktywna = 1;
 }
 return status;
}

void River::Finish(void)
{
 if(aktywna)
 {
#ifdef PLATFORM_WIN
  WSACleanup();
#endif
  aktywna = 0;
 }
}

/* Zaczyna nasłuchiwać na podanym porcie nadchodzącego połączenia TCP. Zwracany
 * jest numer socketu lub -1 dla poinformowania o błędnym zadziałaniu. */
int River::OpenDaemonTCP(char * PortName)
{
 int status;
 int s_odt;
 int s2;
 int tmplen;
 int plik;
 status = -1;
 Init();
 s_odt = InitStruct( & sin);
 if(s_odt != -1)
 {
#if AKTYWNY_REUSEADDR
  /* qaz - Trzeba się zastanowić, co w ogóle daje ta opcja. Jeśli to będzie
   * wiadome, to w tym miejscu należy to odpowiednio skomentować. */
  tmplen = 1;
  setsockopt(s_odt, SOL_SOCKET, SO_REUSEADDR,
#ifdef PLATFORM_WIN
             (char *)
#endif
             & tmplen, sizeof(tmplen));
#endif
  if(TopRiver.FillPort( & sin, PortName))
  {
   s2 = bind(s_odt, (struct sockaddr *) & sin, sizeof(sin));
   if(s2 != -1)
   {
    listen(s_odt, 3); /* Tu poczekamy na zgłoszenie */
#ifdef PLATFORM_WIN
#if 0
    printf("Po listen() WSAGetLastError = %d\n", WSAGetLastError());
#endif
#endif
    tmplen = sizeof(sin);
    plik = accept(s_odt,
/* #ifdef PLATFORM_LINUX qaz */
#if 1
                  (struct sockaddr *)
#endif
                  & sin,
#ifdef PLATFORM_LINUX
                  (unsigned int *)
#endif
                  & tmplen);
{'fraction_non_alphanumeric': 0.12274024738344434, 'fraction_numerical': 0.011417697431018078, 'mean_word_length': 3.04716073147257, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4459204', 'n_tokens_mistral': 1828, 'n_tokens_neox': 1805, 'n_words': 451}