From a79f2377217c571396074fccf360e01032cd77bf Mon Sep 17 00:00:00 2001 From: Victor Wagner Date: Wed, 7 Oct 2015 21:27:56 +0300 Subject: [PATCH] Fixed some warnings produced by GCC 4.9.2 --- .cvsignore => .gitignore | 9 ++++++ src/analyze.c | 12 +++---- src/charsets.c | 3 +- src/ole.c | 4 +-- src/pptparse.c | 2 +- src/sheet.c | 2 +- src/writer.c | 3 +- src/xls.h | 10 +++--- src/xlsparse.c | 69 ++++++++++++++++++++-------------------- 9 files changed, 62 insertions(+), 52 deletions(-) rename .cvsignore => .gitignore (68%) diff --git a/.cvsignore b/.gitignore similarity index 68% rename from .cvsignore rename to .gitignore index a7fbd2a..cd73433 100644 --- a/.cvsignore +++ b/.gitignore @@ -9,7 +9,16 @@ autom4te.cache config.cache config.log config.status +config.h +tags +*.o rtf-parser.txt semantic.cache tests +doc/build +doc/*.1 {arch} +src/catdoc +src/catppt +src/xls2csv +src/wordview diff --git a/src/analyze.c b/src/analyze.c index b721ce6..bebcbef 100644 --- a/src/analyze.c +++ b/src/analyze.c @@ -39,18 +39,18 @@ int analyze_format(FILE *f) { } catdoc_read(buffer,4,1,f); buffer[4]=0; - if (strncmp(buffer,write_sign,2)==0) { + if (strncmp((char *)&buffer,write_sign,2)==0) { printf("[Windows Write file. Some garbage expected]\n"); get_unicode_char=get_8bit_char; return process_file(f,LONG_MAX); - } else if (strncmp(buffer,rtf_sign,4)==0) { + } else if (strncmp((char *)&buffer,rtf_sign,4)==0) { return parse_rtf(f); - } else if (strncmp(buffer,old_word_sign,2)==0) { + } else if (strncmp((char *)&buffer,old_word_sign,2)==0) { fread(buffer+4,1,124,f); return parse_word_header(buffer,f,128,0); } fread(buffer+4,1,4,f); - if (strncmp(buffer,ole_sign,8)==0) { + if (strncmp((char *)&buffer,ole_sign,8)==0) { if ((new_file=ole_init(f, buffer, 8)) != NULL) { set_ole_func(); while((ole_file=ole_readdir(new_file)) != NULL) { @@ -70,8 +70,8 @@ int analyze_format(FILE *f) { exit(1); } } else { - set_std_func(); - copy_out(f,buffer); + + copy_out(f,(char *)&buffer); return 0; } diff --git a/src/charsets.c b/src/charsets.c index b52a1eb..4ee0f4c 100644 --- a/src/charsets.c +++ b/src/charsets.c @@ -163,7 +163,7 @@ int get_utf16msb (FILE *f,long *offset,long fileend) { int get_utf8 (FILE *f,long *offset,long fileend) { unsigned char buf[3]; - int d,c; + int c; int result; result=catdoc_read(buf, 1, 1, f); if (result<0) { @@ -172,7 +172,6 @@ int get_utf8 (FILE *f,long *offset,long fileend) { } if (result==0) return EOF; c=buf[0]; - d=0; if (c<0x80) return c; if (c <0xC0) diff --git a/src/ole.c b/src/ole.c index 9931b57..5267dfa 100644 --- a/src/ole.c +++ b/src/ole.c @@ -37,7 +37,7 @@ long propCurNumber, propLen, propNumber, propStart; unsigned char *properties=NULL; long int fileLength=0; -static unsigned char ole_sign[]={0xD0,0xCF,0x11,0xE0,0xA1,0xB1,0x1A,0xE1,0}; +static char ole_sign[]={0xD0,0xCF,0x11,0xE0,0xA1,0xB1,0x1A,0xE1,0}; /** @@ -97,7 +97,7 @@ FILE* ole_init(FILE *f, void *buffer, size_t bufSize) { if ( ret != BBD_BLOCK_SIZE ) { return NULL; } - if (strncmp(oleBuf,ole_sign,8) != 0) { + if (strncmp((char *)&oleBuf,ole_sign,8) != 0) { return NULL; } sectorSize = 1<0 && (outputbuffer[i] & 0xC0) == 0x80) i--; } diff --git a/src/xls.h b/src/xls.h index 084958d..6c70cd1 100644 --- a/src/xls.h +++ b/src/xls.h @@ -29,14 +29,14 @@ extern int quote_mode; void print_sheet(void); void free_sheet(void); void print_value(unsigned char *value); -char *format_double(char *rec,int offset,int format_code); +char *format_double(unsigned char *rec,int offset,int format_code); char *format_int(int value,int format_code); -char *format_rk(char *rec,short int format_code); +char *format_rk(unsigned char *rec,short int format_code); char *gettypename(long rectype); -void parse_sst(char *sstbuf,int bufsize); -void process_item (int rectype, int reclen, char *rec); +void parse_sst(unsigned char *sstbuf,int bufsize); +void process_item (int rectype, int reclen, unsigned char *rec); unsigned char **allocate(int row,int col); -char *copy_unicode_string(unsigned char **src); +unsigned char *copy_unicode_string(unsigned char **src); char convert8to8(char *src,int count); char *convert16to8(char *src,int count); void do_table(FILE *input,char *filename); diff --git a/src/xlsparse.c b/src/xlsparse.c index 139bcfe..372eb08 100644 --- a/src/xlsparse.c +++ b/src/xlsparse.c @@ -51,6 +51,7 @@ void do_table(FILE *input,char *filename) { itemsread=catdoc_read(rec,4,1,input); build_year=getshort(rec+2,0); build_rel=getshort(rec,0); + (void) build_rel; if(build_year > 5 ) { itemsread=catdoc_read(rec,8,1,input); biff_version=8; @@ -84,7 +85,7 @@ void do_table(FILE *input,char *filename) { exit(1); } while(itemsread){ - char buffer[2]; + unsigned char buffer[2]; rectype = 0; itemsread = catdoc_read(buffer, 2, 1, input); if (catdoc_eof(input)) { @@ -130,7 +131,7 @@ int prev_rectype=0; */ unsigned char **saved_reference = NULL; -void process_item (int rectype, int reclen, char *rec) { +void process_item (int rectype, int reclen, unsigned char *rec) { if (rectype != CONTINUE && prev_rectype == SST) { /* we have accumulated unparsed SST, and now encountered * another record, which indicates that SST is ended */ @@ -191,7 +192,7 @@ void process_item (int rectype, int reclen, char *rec) { if (sst != NULL) free(sst); - sstBuffer=(char*)malloc(reclen); + sstBuffer=(unsigned char*)malloc(reclen); sstBytes = reclen; if (sstBuffer == NULL ) { perror("SSTptr alloc error! "); @@ -241,6 +242,7 @@ void process_item (int rectype, int reclen, char *rec) { endcol=getshort(rec,reclen-2); pcell=allocate(row,endcol); *pcell=NULL; + (void)startcol; break; } case CONSTANT_STRING: { @@ -261,13 +263,13 @@ void process_item (int rectype, int reclen, char *rec) { exit(1); } else if (sst[string_no] !=NULL) { int len; - char *outptr; - len=strlen(sst[string_no]); + unsigned char *outptr; + len=strlen((char *)sst[string_no]); outptr=*pcell=malloc(len+1); - strcpy(outptr,sst[string_no]); + strcpy((char *)outptr,(char *)sst[string_no]); } else { *pcell=malloc(1); - strcpy(*pcell,""); + **pcell = 0; } break; } @@ -282,7 +284,7 @@ void process_item (int rectype, int reclen, char *rec) { row = getshort(rec,0)-startrow; col = getshort(rec,2); pcell=allocate(row,col); - *pcell=strdup(format_double(rec,6,getshort(rec,4))); + *pcell=(unsigned char *)strdup(format_double(rec,6,getshort(rec,4))); break; } case INTEGER_CELL: { @@ -292,7 +294,7 @@ void process_item (int rectype, int reclen, char *rec) { row = getshort(rec,0)-startrow; col = getshort(rec,2); pcell=allocate(row,col); - *pcell=strdup(format_int(getshort(rec,7),getshort(rec,4))); + *pcell=(unsigned char *)strdup(format_int(getshort(rec,7),getshort(rec,4))); break; } @@ -305,7 +307,7 @@ void process_item (int rectype, int reclen, char *rec) { col = getshort(rec,2); pcell=allocate(row,col); format_code = getshort(rec,4); - *pcell=strdup(format_rk(rec+6,format_code)); + *pcell=(unsigned char *)strdup(format_rk(rec+6,format_code)); break; } case MULRK: { @@ -319,7 +321,7 @@ void process_item (int rectype, int reclen, char *rec) { for (offset=4,col=startcol;col<=endcol;offset+=6,col++) { pcell=allocate(row,col); format_code=getshort(rec,offset); - *pcell=strdup(format_rk(rec+offset+2,format_code)); + *pcell=(unsigned char *)strdup(format_rk(rec+offset+2,format_code)); } break; @@ -337,17 +339,17 @@ void process_item (int rectype, int reclen, char *rec) { /*boolean*/ char buf[2]="0"; buf[0]+=rec[9]; - *pcell=strdup(buf); + *pcell=(unsigned char *)strdup(buf); } else if (rec[6]==2) { /*error*/ char buf[6]="ERROR"; - *pcell=strdup(buf); + *pcell=(unsigned char *)strdup(buf); } else if (rec[6]==0) { saved_reference=pcell; } } else { int format_code=getshort(rec,4); - *pcell=strdup(format_double(rec,6,format_code)); + *pcell=(unsigned char *)strdup(format_double(rec,6,format_code)); } break; } @@ -415,23 +417,22 @@ void process_item (int rectype, int reclen, char *rec) { /* * Extracts string from sst and returns mallocked copy of it */ -char *copy_unicode_string (unsigned char **src) { +unsigned char *copy_unicode_string (unsigned char **src) { int count=0; int flags = 0; int start_offset=0; - int to_skip=0; /* ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÐÏÄÓÞÅÔÁ ÄÌÉÎÙ ÄÁÎÎÙÈ - * ÚÁ ËÏÎÃÏÍ ÓÔÒÏËÉ */ - int offset = 1; /* ÄÌÑ ÕÞÅÔÁ ÐÅÒÅÍÅÎÎÏÊ ÄÌÉÎÙ ÐÅÒ×ÏÇÏ ÐÏÌÑ */ + int to_skip=0; /* Used to counmt data after end of string */ + int offset = 1; /* Variable length of the first field */ int charsize; /* char *realstart=*src; */ - char *dest; /* ËÕÄÁ ÂÕÄÅÍ ËÏÐÉÒÏ×ÁÔØ ÓÔÒÏËÕ */ - char *s,*d,*c; + unsigned char *dest;/* where to copy string */ + unsigned char *s,*d,*c; int i,u,l,len; /* for(i=0;i<20;i++) */ /* fprintf(stderr,"%02x ",(*src)[i]); */ - /* fprintf(stderr,"\n"); */ + /* fprintf(stderr,"\n"); */ flags = *(*src+1+offset); if (! ( flags == 0 || flags == 1 || flags == 8 || flags == 9 || @@ -500,7 +501,7 @@ char *copy_unicode_string (unsigned char **src) { } if ( charsize == 2 ){ u=(unsigned short)getshort(s,0); - c=convert_char(u); + c=(unsigned char *)convert_char(u); /* fprintf(stderr,"char=%02x %02x\n", *s, *(s+1)); */ } else { if (!source_charset) { @@ -509,16 +510,16 @@ char *copy_unicode_string (unsigned char **src) { source_charset=read_charset(source_csname); } u=(unsigned short)to_unicode(source_charset,(unsigned char)*s); - c=convert_char(u); + c=(unsigned char *)convert_char(u); } if (c != NULL) { - int dl = strlen(c); + int dl = strlen((char *)c); while (l+dl>=len) { len+=16; dest=realloc(dest,len+1); } d=dest+l; - strcpy(d,c); + strcpy((char *)d,(char *)c); d+=dl; l+=dl; } @@ -584,8 +585,8 @@ static char FormatIdxUsed[NUMOFDATEFORMATS]; void CleanUpFormatIdxUsed() { int i; - for (i=0;i>2); } else { - union { char cc[8]; + union { unsigned char cc[8]; double d;} dconv; - char *d,*s; + unsigned char *d,*s; for(i=0;i<8;i++) dconv.cc[i]='\0'; # ifdef WORDS_BIGENDIAN @@ -753,7 +754,7 @@ time_t float2date(double f) { /* * Parses SST into array of strings */ -void parse_sst(char *sstbuf,int bufsize) { +void parse_sst(unsigned char *sstbuf,int bufsize) { int i; /* index into sst */ unsigned char *curString; /* pointer into unparsed buffer*/ unsigned char *barrier=(unsigned char *)sstbuf+bufsize; /*pointer to end of buffer*/ -- 2.39.2