verzia 1.12, 2002/10/11 22:56:04 |
verzia 1.13, 2002/10/14 19:55:12 |
Riadok 85 char *name(char *buffer) |
|
Riadok 85 char *name(char *buffer) |
|
return end; |
return end; |
} |
} |
|
|
/* parse arrays */ |
char **array(char *buffer) |
|
{ |
|
char **ret, *last; |
|
int index = 1, end = 1; |
|
ret = (char **) xmalloc(sizeof(char **)); |
|
*ret = (char *) xmalloc(2 * sizeof(char)); |
|
strncpy(*ret, "[\0", 2 * sizeof(char)); |
|
buffer++; |
|
if (*buffer == ' ') |
|
buffer++; |
|
last = buffer; |
|
while (1) { |
|
if (*buffer == '[') |
|
end++; |
|
if (*buffer == ']') { |
|
end--; |
|
if (!end) |
|
break; |
|
} |
|
while (*buffer != ' ') |
|
buffer++; |
|
ret = (char **) resize(ret, (index + 1) * sizeof(char **)); |
|
ret[index] = (char *) xmalloc(buffer - last); |
|
strncpy(ret[index], last, buffer - last); |
|
ret[index][buffer - last] = '\0'; |
|
last = ++buffer; |
|
} |
|
return ret; |
|
} |
|
|
|
/* parse arrays |
char **array(char *buffer) |
char **array(char *buffer) |
{ |
{ |
char **ret; |
char **ret; |
Riadok 93 char **array(char *buffer) |
|
Riadok 123 char **array(char *buffer) |
|
if (*buffer != '[') |
if (*buffer != '[') |
return NULL; |
return NULL; |
ret = (char **) xmalloc(1); |
ret = (char **) xmalloc(1); |
ret[0] = (char *) xmalloc(2 * sizeof(char)); |
ret[0] = (char *) xmalloc(2); |
*ret[0] = '['; |
strncpy(ret[0],"[\0",2); |
ret[0][1] = '\0'; |
|
if(*(buffer + 1) == ' ') |
if(*(buffer + 1) == ' ') |
buffer += 2; |
buffer += 2; |
else |
else |
Riadok 106 char **array(char *buffer) |
|
Riadok 135 char **array(char *buffer) |
|
end--; |
end--; |
if (*buffer == '[') |
if (*buffer == '[') |
end++; |
end++; |
ret = (char **) realloc(ret,index + 1); |
ret = (char **) resize(et,index + 1); |
len = strlento(buffer, ' '); |
len = strlento(buffer, ' '); |
ret[index] = (char *) xcalloc(len,1); |
ret[index] = (char *) xmalloc(len + 1); |
strncpy(ret[index], buffer, len); |
strncpy(ret[index], buffer, len); |
ret[index][len] = '\0'; |
ret[index][len] = '\0'; |
buffer += len + 1; |
buffer += len + 1; |
index++; |
index++; |
} while (end > 0); |
} while (end > 0); |
return ret; |
return ret; |
} |
}*/ |
|
|
#define BUFLEN 255 |
#define BUFLEN 255 |
void read_obj(long offset) |
void read_obj(long offset) |
Riadok 130 void read_obj(long offset) |
|
Riadok 159 void read_obj(long offset) |
|
fget(buffer, BUFLEN, fp); |
fget(buffer, BUFLEN, fp); |
while (!strstr(buffer, "endobj")) { |
while (!strstr(buffer, "endobj")) { |
size += strlen(buffer) + 1; |
size += strlen(buffer) + 1; |
obj->unparsed = resize(obj->unparsed, size); |
obj->unparsed = realloc(obj->unparsed, size); |
strcat(obj->unparsed, buffer); |
strcat(obj->unparsed, buffer); |
fget(buffer, BUFLEN, fp); |
fget(buffer, BUFLEN, fp); |
} |
} |
Riadok 224 void probe_ptree(int num) |
|
Riadok 253 void probe_ptree(int num) |
|
return; |
return; |
} |
} |
kids = array(p + 6); |
kids = array(p + 6); |
for (kids++;**kids != ']';kids += 2) |
for (kids++; **kids != ']'; kids += 2) |
probe_ptree(atoi(*kids)); |
probe_ptree(atoi(*kids)); |
return; |
return; |
} |
} |
|
|
/* find objects and add it to object structure */ |
/* find objects and add it to object structure */ |
Riadok 241 void xref(void) |
|
Riadok 270 void xref(void) |
|
/* error */ |
/* error */ |
return; |
return; |
} |
} |
object = (struct object **) xmalloc(sizeof(struct object)); |
object = (struct object **) xmalloc(sizeof(struct object *)); |
obj_count = 1; |
obj_count = 1; |
{ |
{ |
int entry[2]; |
int entry[2]; |
Riadok 305 int parse_catalog(void) |
|
Riadok 334 int parse_catalog(void) |
|
|
|
void parse_pdf(void) |
void parse_pdf(void) |
{ |
{ |
int ret,count; |
int ret, count; |
char *p; |
char *p; |
xref(); |
xref(); |
ret = parse_catalog(); |
ret = parse_catalog(); |
p = strstr(object[ret]->unparsed,"/Count "); |
p = strstr(object[ret]->unparsed, "/Count "); |
sscanf(p,"/Count %d \n",&count); |
sscanf(p, "/Count %d \n", &count); |
page_tree = (int *) malloc(count); |
page_tree = (int *) malloc(count); |
current_page = 0; |
current_page = 0; |
sleep(60); |
probe_ptree(ret); |
/* probe_ptree(ret); */ |
|
return; |
return; |
} |
} |