Allocation by chunks of 1KiB...
This commit is contained in:
parent
a0ce6d4fef
commit
f9c4eed2e9
30
src/main.c
30
src/main.c
@ -4,6 +4,9 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|
||||||
|
#define ALLOCATION_CHUNK (1024UL)
|
||||||
|
#define ALLOCATION_LIMIT (1024UL * 1024UL)
|
||||||
|
|
||||||
enum { NORMAL, BOLD, DARKNESS, ITALIC, UNDERLINE, BLINK, DUNNO_6, REVERSE, INVISIBLE };
|
enum { NORMAL, BOLD, DARKNESS, ITALIC, UNDERLINE, BLINK, DUNNO_6, REVERSE, INVISIBLE };
|
||||||
enum { GREY, RED, GREEN, YELLOW, BLUE, PINK, CYAN, WHITE, CANCEL };
|
enum { GREY, RED, GREEN, YELLOW, BLUE, PINK, CYAN, WHITE, CANCEL };
|
||||||
|
|
||||||
@ -245,9 +248,15 @@ static int render_word (
|
|||||||
++data_offset;
|
++data_offset;
|
||||||
} while ((is_separator (buffer [data_offset]) == 0) && (buffer [data_offset] != '\0'));
|
} while ((is_separator (buffer [data_offset]) == 0) && (buffer [data_offset] != '\0'));
|
||||||
|
|
||||||
|
free (word);
|
||||||
|
|
||||||
return (data_offset);
|
return (data_offset);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
Valgrind: Depends on uninitialized value (buffer [0])...?
|
||||||
|
280 : } while ((buffer [buffer_size - 1] != '\0') || (buffer_size != ALLOCATION_LIMIT));
|
||||||
|
285 : while (buffer [offset] != '\0') {
|
||||||
|
*/
|
||||||
int main (
|
int main (
|
||||||
int argc,
|
int argc,
|
||||||
char * * argv
|
char * * argv
|
||||||
@ -260,18 +269,21 @@ int main (
|
|||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
do {
|
buffer = realloc (buffer, ALLOCATION_CHUNK);
|
||||||
++buffer_size;
|
|
||||||
buffer = realloc (buffer, buffer_size);
|
|
||||||
read (STDIN_FILENO, & buffer [buffer_size - 1], sizeof (* buffer));
|
|
||||||
} while ((buffer [buffer_size] != '\0') || (buffer_size != 10000));
|
|
||||||
|
|
||||||
|
do {
|
||||||
|
if ((buffer_size + 1) % ALLOCATION_CHUNK == 0) {
|
||||||
|
buffer = realloc (buffer, ((buffer_size + 1) / ALLOCATION_CHUNK + 1) * ALLOCATION_CHUNK);
|
||||||
|
}
|
||||||
|
buffer [buffer_size] = '\0'; /* Fixing Valgrind warnings... */
|
||||||
|
read (STDIN_FILENO, & buffer [buffer_size], sizeof (* buffer));
|
||||||
++buffer_size;
|
++buffer_size;
|
||||||
buffer = realloc (buffer, buffer_size);
|
} while ((buffer [buffer_size - 1] != '\0') /*|| (buffer_size != ALLOCATION_LIMIT)*/);
|
||||||
buffer [buffer_size] = '\0';
|
|
||||||
|
buffer [buffer_size - 1] = '\0';
|
||||||
|
|
||||||
/* Checking if long comments work... */
|
/* Checking if long comments work... */
|
||||||
// Checking if long comments work...
|
// Checking if short comments work...
|
||||||
|
|
||||||
while (buffer [offset] != '\0') {
|
while (buffer [offset] != '\0') {
|
||||||
if ((buffer [offset] == '/') && (buffer [offset + 1] == '/')) {
|
if ((buffer [offset] == '/') && (buffer [offset + 1] == '/')) {
|
||||||
|
Loading…
Reference in New Issue
Block a user