verzia 1.8, 2002/10/03 19:21:43 |
verzia 1.9, 2002/10/08 18:48:58 |
Riadok 114 char **array(char *buffer) |
|
Riadok 114 char **array(char *buffer) |
|
void read_obj(long offset) |
void read_obj(long offset) |
{ |
{ |
char buffer[BUFLEN]; |
char buffer[BUFLEN]; |
int obj_num,size = 0; |
int obj_num, size = 0; |
struct object *obj = |
struct object *obj = |
(struct object *) xcalloc(sizeof(struct object),1); |
(struct object *) xcalloc(sizeof(struct object), 1); |
fseek(fp, offset, SEEK_SET); |
fseek(fp, offset, SEEK_SET); |
fget(buffer, BUFLEN, fp); |
fget(buffer, BUFLEN, fp); |
sscanf(buffer, "%d ", &obj_num); |
sscanf(buffer, "%d ", &obj_num); |
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 = resize(obj->unparsed, size); |
strcat(obj->unparsed,buffer); |
strcat(obj->unparsed, buffer); |
fget(buffer,BUFLEN,fp); |
fget(buffer, BUFLEN, fp); |
} |
} |
object[obj_num] = obj; |
object[obj_num] = obj; |
return; |
return; |
} |
} |
|
|
/* obj->type = UNKNOWN; |
/* obj->type = UNKNOWN; |
obj->obj = NULL; |
obj->obj = NULL; |
if(!strstr(&buffer[0],"<<")) { |
if(!strstr(&buffer[0],"<<")) { |
Riadok 162 void read_obj(long offset) |
|
Riadok 163 void read_obj(long offset) |
|
obj->type = CONTENT; |
obj->type = CONTENT; |
} |
} |
fget(&buffer[0], BUFLEN, fp); |
fget(&buffer[0], BUFLEN, fp); |
}*/ |
}*/ |
|
|
void add_obj(char *s) |
void add_obj(char *s) |
{ |
{ |
Riadok 203 void xref(void) |
|
Riadok 204 void xref(void) |
|
int entry[2]; |
int entry[2]; |
sscanf(&xref[0], "%d %d", &entry[0], &entry[1]); |
sscanf(&xref[0], "%d %d", &entry[0], &entry[1]); |
object = (struct object **) xmalloc(entry[0] + entry[1]); |
object = (struct object **) xmalloc(entry[0] + entry[1]); |
fseek(fp,20,SEEK_CUR); |
if (!entry[0]) |
while (entry[1] >= 0) { |
fseek(fp, 20, SEEK_CUR); |
fget(&xref[0], XREFLINE, fp); |
fget(&xref[0], XREFLINE, fp); |
|
while (strncmp(&xref[0], "trailer", 5)) { |
add_obj(&xref[0]); |
add_obj(&xref[0]); |
entry[1]--; |
fget(&xref[0], XREFLINE, fp); |
} |
} |
} |
} |
return; |
return; |