
Untitled
By: a guest on
May 9th, 2012 | syntax:
None | size: 0.57 KB | hits: 16 | expires: Never
Handle<Value> read(const Arguments &args)
{
char *buffer = malloc(sizeof(buffer)*4096), *p;
size_t i = 0, alloced = 4096;
int c;
if(buffer == NULL)
return ThrowException(String::New("Malloc buffer error"));
while((c=getc(file)) != EOF)
{
if(i + 2 == alloced)
{
p = realloc(buffer, alloced + 4096);
if(p == NULL)
{
free(buffer);
return ThrowException(String::New("Read Memory error"));
}
buffer = p;
alloced += 4096;
}
buffer[i++] = c;
}
buffer[i] = 0;
return String::New(buffer);
}