modified itoa and its headers

This commit is contained in:
hugogogo
2022-07-31 12:59:27 +02:00
parent 2a69e14db2
commit cbb1d12d54
6 changed files with 26 additions and 60 deletions

View File

@@ -25,7 +25,6 @@ HEADERS_F = Webserv.hpp \
SRCS_D = srcs srcs/webserv
SRCS = main.cpp \
ft_itoa.cpp \
base.cpp init.cpp close.cpp epoll_update.cpp signal.cpp \
accept.cpp request.cpp response.cpp \
run_loop.cpp \

View File

@@ -24,7 +24,6 @@
# include <string> // string
# include <cstdio> // perror
# include <cstdlib> // atoi (athough it's already cover by <string>)
char *ft_itoa(int n);
# include "Client.hpp"
# include "ServerConfig.hpp"

View File

@@ -1,10 +1,13 @@
#ifndef UTILS_HPP
# define UTILS_HPP
# include <string>
# include <sstream>
# include <vector>
std::vector<std::string> split(std::string input, char delimiter);
std::vector<std::string> split(std::string input, char delimiter);
char* itoa(int n);
#endif

View File

@@ -1,59 +1,13 @@
# include <sstream>
#include <string.h>
# include <string.h>
static int eval_is_negative(int *n)
char* itoa(int n)
{
if (*n < 0)
{
*n = *n * -1;
return (1);
}
return (0);
}
std::stringstream strs;
char * str;
static int eval_digit_nbr(int n)
{
int digit_nbr;
if (n == 0)
return (1);
digit_nbr = 0;
while (n != 0)
{
digit_nbr++;
n = n / 10;
}
return (digit_nbr);
}
char *ft_itoa(int n)
{
// std::stringstream strs;
// std::string s;
//
// strs << n;
// s = strs.str();
// return ((char*)(s.c_str()));
int i;
char *str;
int is_negative;
if (n == -2147483648)
return (strdup("-2147483648"));
is_negative = eval_is_negative(&n);
i = eval_digit_nbr(n) + is_negative;
str = new char[i+1];
if (is_negative)
str[0] = '-';
str[i] = '\0';
while (i > 0 + is_negative)
{
i--;
str[i] = (n % 10) + '0';
n = n / 10;
}
strs << n;
str = (char*)(strs.str().c_str());
return (str);
}

View File

@@ -1,5 +1,5 @@
#include "Webserv.hpp"
#include "utils.hpp"
std::vector<std::string> split(std::string input, char delimiter)
{
@@ -13,3 +13,13 @@ std::vector<std::string> split(std::string input, char delimiter)
return answer;
}
char* itoa(int n)
{
std::stringstream strs;
char * str;
strs << n;
str = (char*)(strs.str().c_str());
return (str);
}

View File

@@ -128,9 +128,10 @@ void Webserv::_get_ressource(Client *client)
client->response.append("Content-Type: text/html; charset=UTF-8\r\n");
client->response.append("Content-Length: ");
tmp = ::ft_itoa(ifd.gcount());
// tmp = ::ft_itoa(ifd.gcount());
tmp = ::itoa(ifd.gcount());
client->response.append(tmp);
delete tmp;
// delete tmp;
client->response.append("\r\n");
// Body