summaryrefslogtreecommitdiffstats
path: root/src/file_pdf.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/file_pdf.c')
-rw-r--r--src/file_pdf.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/file_pdf.c b/src/file_pdf.c
index 90d7d56c..ef828aee 100644
--- a/src/file_pdf.c
+++ b/src/file_pdf.c
@@ -59,33 +59,34 @@ static int header_check_pdf(const unsigned char *buffer, const unsigned int buff
{
const unsigned char sig_illustrator[11]={'I','l','l','u','s','t','r','a','t','o','r'};
const unsigned char sig_linearized[10]={'L','i','n','e','a','r','i','z','e','d'};
- const unsigned char *linearized;
+ const unsigned char *src;
reset_file_recovery(file_recovery_new);
if(td_memmem(buffer, 512, sig_illustrator,sizeof(sig_illustrator)) != NULL)
file_recovery_new->extension="ai";
else
file_recovery_new->extension=file_hint_pdf.extension;
- if((linearized=(const unsigned char *)td_memmem(buffer, 512, sig_linearized, sizeof(sig_linearized))) != NULL)
+ if((src=(const unsigned char *)td_memmem(buffer, 512, sig_linearized, sizeof(sig_linearized))) != NULL)
{
- linearized+=sizeof(sig_linearized);
- while(*linearized!='>' && linearized<=buffer+512)
+ src+=sizeof(sig_linearized);
+ for(; src<=buffer+512 && *src!='>'; src++)
{
- if(*linearized=='/' && *(linearized+1)=='L')
+ if(*src=='/' && *(src+1)=='L')
{
- linearized+=2;
- while(*linearized==' ' || *linearized=='\t' || *linearized=='\n' || *linearized=='\r')
- linearized++;
+ src+=2;
+ while(src<buffer+512 &&
+ (*src==' ' || *src=='\t' || *src=='\n' || *src=='\r'))
+ src++;
file_recovery_new->calculated_file_size=0;
- while(*linearized>='0' && *linearized<='9' && linearized<=buffer+512)
+ while(src<buffer+512 &&
+ *src>='0' && *src<='9')
{
- file_recovery_new->calculated_file_size=file_recovery_new->calculated_file_size*10+(*linearized)-'0';
- linearized++;
+ file_recovery_new->calculated_file_size=file_recovery_new->calculated_file_size*10+(*src)-'0';
+ src++;
}
file_recovery_new->data_check=&data_check_size;
file_recovery_new->file_check=&file_check_pdf_and_size;
return 1;
}
- linearized++;
}
}
file_recovery_new->file_check=&file_check_pdf;