this patch is good cleanup patch please submit it upstream as well. On Thu, Jun 6, 2024 at 9:23 AM Kai Kang via lists.openembedded.org <[email protected]> wrote: > > From: Kai Kang <[email protected]> > > Fix compile errors when gcc option '-Wincompatible-pointer-types' set: > > mx.c: In function 'mx_setdate': > mx.c:1286:15: error: passing argument 2 of 'utime' from incompatible pointer > type [-Wincompatible-pointer-types] > 1286 | utime (file,tp); /* set the times */ > | ^~ > | | > | time_t * {aka long int *} > > Signed-off-by: Kai Kang <[email protected]> > --- > ...-imap-fix-incompatible-pointer-types.patch | 354 ++++++++++++++++++ > .../recipes-devtools/uw-imap/uw-imap_2007f.bb | 1 + > 2 files changed, 355 insertions(+) > create mode 100644 > meta-oe/recipes-devtools/uw-imap/uw-imap/uw-imap-fix-incompatible-pointer-types.patch > > diff --git > a/meta-oe/recipes-devtools/uw-imap/uw-imap/uw-imap-fix-incompatible-pointer-types.patch > > b/meta-oe/recipes-devtools/uw-imap/uw-imap/uw-imap-fix-incompatible-pointer-types.patch > new file mode 100644 > index 000000000..7146fbbeb > --- /dev/null > +++ > b/meta-oe/recipes-devtools/uw-imap/uw-imap/uw-imap-fix-incompatible-pointer-types.patch > @@ -0,0 +1,354 @@ > +Fix compile errors when gcc option '-Wincompatible-pointer-types' set: > + > +mx.c: In function 'mx_setdate': > +mx.c:1286:15: error: passing argument 2 of 'utime' from incompatible pointer > type [-Wincompatible-pointer-types] > + 1286 | utime (file,tp); /* set the times */ > + | ^~ > + | | > + | time_t * {aka long int *} > + > + > +Upstream-Status: Pending > + > +Signed-off-by: Kai Kang <[email protected]> > + > +--- > + src/osdep/unix/mbx.c | 12 ++++++------ > + src/osdep/unix/mh.c | 2 +- > + src/osdep/unix/mmdf.c | 10 +++++----- > + src/osdep/unix/mtx.c | 16 ++++++++-------- > + src/osdep/unix/mx.c | 2 +- > + src/osdep/unix/tenex.c | 16 ++++++++-------- > + src/osdep/unix/unix.c | 10 +++++----- > + 7 files changed, 34 insertions(+), 34 deletions(-) > + > +diff --git a/src/osdep/unix/mbx.c b/src/osdep/unix/mbx.c > +index c8a45a5..0a587fe 100644 > +--- a/src/osdep/unix/mbx.c > ++++ b/src/osdep/unix/mbx.c > +@@ -302,7 +302,7 @@ int mbx_isvalid (MAILSTREAM **stream,char *name,char > *tmp,int *ld,char *lock, > + if (sbuf.st_ctime > sbuf.st_atime) { > + tp[0] = sbuf.st_atime; /* preserve atime and mtime */ > + tp[1] = sbuf.st_mtime; > +- utime (tmp,tp); /* set the times */ > ++ utime (tmp, (const struct utimbuf *)tp); /* set the > times */ > + } > + } > + /* in case INBOX but not mbx format */ > +@@ -776,7 +776,7 @@ void mbx_flag (MAILSTREAM *stream,char *sequence,char > *flag,long flags) > + stream->user_flags[LOCAL->ffuserflag]) || (oldpid != LOCAL->lastpid)) > + mbx_update_header (stream); > + tp[0] = time (0); /* make sure read comes after all that */ > +- utime (stream->mailbox,tp); > ++ utime (stream->mailbox, (const struct utimbuf *)tp); > + } > + if (LOCAL->ld >= 0) { /* unlock now */ > + unlockfd (LOCAL->ld,LOCAL->lock); > +@@ -1075,7 +1075,7 @@ long mbx_copy (MAILSTREAM *stream,char *sequence,char > *mailbox,long options) > + /* else preserve \Marked status */ > + else tp[0] = (sbuf.st_ctime > sbuf.st_atime) ? sbuf.st_atime : time(0); > + tp[1] = sbuf.st_mtime; /* preserve mtime */ > +- utime (file,tp); /* set the times */ > ++ utime (file, (const struct utimbuf *)tp); /* set the times */ > + close (fd); /* close the file */ > + MM_NOCRITICAL (stream); /* release critical */ > + unlockfd (ld,lock); /* release exclusive parse/append permission > */ > +@@ -1213,7 +1213,7 @@ long mbx_append (MAILSTREAM *stream,char > *mailbox,append_t af,void *data) > + /* else preserve \Marked status */ > + else tp[0] = (sbuf.st_ctime > sbuf.st_atime) ? sbuf.st_atime : time(0); > + tp[1] = sbuf.st_mtime; /* preserve mtime */ > +- utime (file,tp); /* set the times */ > ++ utime (file, (const struct utimbuf *)tp); /* set the times */ > + fclose (df); /* close the file */ > + MM_NOCRITICAL (dstream); /* release critical */ > + } > +@@ -1446,7 +1446,7 @@ long mbx_parse (MAILSTREAM *stream) > + time_t tp[2]; > + tp[0] = time (0); > + tp[1] = LOCAL->filetime; > +- utime (stream->mailbox,tp); > ++ utime (stream->mailbox, (const struct utimbuf *)tp); > + } > + stream->silent = silent; /* can pass up events now */ > + mail_exists (stream,nmsgs); /* notify upper level of new mailbox size */ > +@@ -1814,7 +1814,7 @@ unsigned long mbx_rewrite (MAILSTREAM *stream,unsigned > long *reclaimed, > + fstat (LOCAL->fd,&sbuf); /* get new write time */ > + tp[1] = LOCAL->filetime = sbuf.st_mtime; > + tp[0] = time (0); /* reset atime to now */ > +- utime (stream->mailbox,tp); > ++ utime (stream->mailbox, (const struct utimbuf *)tp); > + unlockfd (ld,lock); /* release exclusive parse/append permission > */ > + /* notify upper level of new mailbox size */ > + mail_exists (stream,stream->nmsgs); > +diff --git a/src/osdep/unix/mh.c b/src/osdep/unix/mh.c > +index 9264624..26f3539 100644 > +--- a/src/osdep/unix/mh.c > ++++ b/src/osdep/unix/mh.c > +@@ -1279,5 +1279,5 @@ void mh_setdate (char *file,MESSAGECACHE *elt) > + time_t tp[2]; > + tp[0] = time (0); /* atime is now */ > + tp[1] = mail_longdate (elt); /* modification time */ > +- utime (file,tp); /* set the times */ > ++ utime (file, (const struct utimbuf *)tp); /* set the times */ > + } > +diff --git a/src/osdep/unix/mmdf.c b/src/osdep/unix/mmdf.c > +index e962434..c0adbee 100644 > +--- a/src/osdep/unix/mmdf.c > ++++ b/src/osdep/unix/mmdf.c > +@@ -379,7 +379,7 @@ long mmdf_isvalid (char *name,char *tmp) > + if ((sbuf.st_ctime > sbuf.st_atime) || (sbuf.st_mtime > > sbuf.st_atime)) { > + tp[0] = sbuf.st_atime; /* preserve atime and mtime */ > + tp[1] = sbuf.st_mtime; > +- utime (file,tp); /* set the times */ > ++ utime (file, (const struct utimbuf *)tp); /* set the times */ > + } > + } > + } > +@@ -1131,7 +1131,7 @@ long mmdf_copy (MAILSTREAM *stream,char *sequence,char > *mailbox,long options) > + else tp[0] = /* else preserve \Marked status */ > + ((sbuf.st_ctime > sbuf.st_atime) || (sbuf.st_mtime > sbuf.st_atime)) > ? > + sbuf.st_atime : tp[1]; > +- utime (file,tp); /* set the times */ > ++ utime (file, (const struct utimbuf *)tp); /* set the times */ > + mmdf_unlock (fd,NIL,&lock); /* unlock and close mailbox */ > + if (tstream) { /* update last UID if we can */ > + MMDFLOCAL *local = (MMDFLOCAL *) tstream->local; > +@@ -1292,7 +1292,7 @@ long mmdf_append (MAILSTREAM *stream,char > *mailbox,append_t af,void *data) > + ret = NIL; /* return error */ > + } > + else tp[0] = tp[1] - 1; /* set atime to now-1 if successful copy */ > +- utime (file,tp); /* set the times */ > ++ utime (file, (const struct utimbuf *)tp); /* set the times */ > + fclose (sf); /* done with scratch file */ > + /* force UIDVALIDITY assignment now */ > + if (tstream && !tstream->uid_validity) tstream->uid_validity = time (0); > +@@ -1550,7 +1550,7 @@ void mmdf_unlock (int fd,MAILSTREAM *stream,DOTLOCK > *lock) > + } > + else now = 0; /* no time change needed */ > + /* set the times, note change */ > +- if (now && !utime (stream->mailbox,tp)) LOCAL->filetime = tp[1]; > ++ if (now && !utime (stream->mailbox, (const struct utimbuf *)tp)) > LOCAL->filetime = tp[1]; > + } > + flock (fd,LOCK_UN); /* release flock'ers */ > + if (!stream) close (fd); /* close the file if no stream */ > +@@ -2393,7 +2393,7 @@ long mmdf_rewrite (MAILSTREAM *stream,unsigned long > *nexp,DOTLOCK *lock, > + /* set atime to now, mtime a second earlier */ > + tp[1] = (tp[0] = time (0)) - 1; > + /* set the times, note change */ > +- if (!utime (stream->mailbox,tp)) LOCAL->filetime = tp[1]; > ++ if (!utime (stream->mailbox, (const struct utimbuf *)tp)) > LOCAL->filetime = tp[1]; > + close (LOCAL->fd); /* close and reopen file */ > + if ((LOCAL->fd = open (stream->mailbox,O_RDWR, > + (long) mail_parameters > (NIL,GET_MBXPROTECTION,NIL))) > +diff --git a/src/osdep/unix/mtx.c b/src/osdep/unix/mtx.c > +index 8e6f76e..f64142b 100644 > +--- a/src/osdep/unix/mtx.c > ++++ b/src/osdep/unix/mtx.c > +@@ -196,7 +196,7 @@ int mtx_isvalid (char *name,char *tmp) > + if (sbuf.st_ctime > sbuf.st_atime) { > + tp[0] = sbuf.st_atime; /* preserve atime and mtime */ > + tp[1] = sbuf.st_mtime; > +- utime (file,tp); /* set the times */ > ++ utime (file, (const struct utimbuf *)tp); /* set the times */ > + } > + } > + } > +@@ -565,7 +565,7 @@ void mtx_flag (MAILSTREAM *stream,char *sequence,char > *flag,long flags) > + fstat (LOCAL->fd,&sbuf); /* get current write time */ > + tp[1] = LOCAL->filetime = sbuf.st_mtime; > + tp[0] = time (0); /* make sure read comes after all that */ > +- utime (stream->mailbox,tp); > ++ utime (stream->mailbox, (const struct utimbuf *)tp); > + } > + } > + > +@@ -834,7 +834,7 @@ long mtx_expunge (MAILSTREAM *stream,char *sequence,long > options) > + fstat (LOCAL->fd,&sbuf); /* get new write time */ > + tp[1] = LOCAL->filetime = sbuf.st_mtime; > + tp[0] = time (0); /* reset atime to now */ > +- utime (stream->mailbox,tp); > ++ utime (stream->mailbox, (const struct utimbuf *)tp); > + MM_NOCRITICAL (stream); /* release critical */ > + /* notify upper level of new mailbox size */ > + mail_exists (stream,stream->nmsgs); > +@@ -929,7 +929,7 @@ long mtx_copy (MAILSTREAM *stream,char *sequence,char > *mailbox,long options) > + /* else preserve \Marked status */ > + else tp[0] = (sbuf.st_ctime > sbuf.st_atime) ? sbuf.st_atime : time(0); > + tp[1] = sbuf.st_mtime; /* preserve mtime */ > +- utime (file,tp); /* set the times */ > ++ utime (file, (const struct utimbuf *)tp); /* set the times */ > + close (fd); /* close the file */ > + unlockfd (ld,lock); /* release exclusive parse/append permission > */ > + MM_NOCRITICAL (stream); /* release critical */ > +@@ -946,7 +946,7 @@ long mtx_copy (MAILSTREAM *stream,char *sequence,char > *mailbox,long options) > + fstat (LOCAL->fd,&sbuf); /* get current write time */ > + tp[1] = LOCAL->filetime = sbuf.st_mtime; > + tp[0] = time (0); /* make sure atime remains greater */ > +- utime (stream->mailbox,tp); > ++ utime (stream->mailbox, (const struct utimbuf *)tp); > + } > + } > + if (ret && mail_parameters (NIL,GET_COPYUID,NIL)) > +@@ -1062,7 +1062,7 @@ long mtx_append (MAILSTREAM *stream,char > *mailbox,append_t af,void *data) > + /* else preserve \Marked status */ > + else tp[0] = (sbuf.st_ctime > sbuf.st_atime) ? sbuf.st_atime : time(0); > + tp[1] = sbuf.st_mtime; /* preserve mtime */ > +- utime (file,tp); /* set the times */ > ++ utime (file, (const struct utimbuf *)tp); /* set the times */ > + fclose (df); /* close the file */ > + unlockfd (ld,lock); /* release exclusive parse/append permission > */ > + MM_NOCRITICAL (stream); /* release critical */ > +@@ -1212,7 +1212,7 @@ long mtx_parse (MAILSTREAM *stream) > + time_t tp[2]; > + tp[0] = time (0); > + tp[1] = LOCAL->filetime; > +- utime (stream->mailbox,tp); > ++ utime (stream->mailbox, (const struct utimbuf *)tp); > + } > + stream->silent = silent; /* can pass up events now */ > + mail_exists (stream,nmsgs); /* notify upper level of new mailbox size */ > +@@ -1312,7 +1312,7 @@ void mtx_update_status (MAILSTREAM *stream,unsigned > long msgno,long syncflag) > + fstat (LOCAL->fd,&sbuf); /* get new write time */ > + tp[1] = LOCAL->filetime = sbuf.st_mtime; > + tp[0] = time (0); /* make sure read is later */ > +- utime (stream->mailbox,tp); > ++ utime (stream->mailbox, (const struct utimbuf *)tp); > + } > + } > + } > +diff --git a/src/osdep/unix/mx.c b/src/osdep/unix/mx.c > +index b5c5adf..4146409 100644 > +--- a/src/osdep/unix/mx.c > ++++ b/src/osdep/unix/mx.c > +@@ -1283,5 +1283,5 @@ void mx_setdate (char *file,MESSAGECACHE *elt) > + time_t tp[2]; > + tp[0] = time (0); /* atime is now */ > + tp[1] = mail_longdate (elt); /* modification time */ > +- utime (file,tp); /* set the times */ > ++ utime (file, (const struct utimbuf *)tp); /* set the times */ > + } > +diff --git a/src/osdep/unix/tenex.c b/src/osdep/unix/tenex.c > +index eee61fb..622da61 100644 > +--- a/src/osdep/unix/tenex.c > ++++ b/src/osdep/unix/tenex.c > +@@ -203,7 +203,7 @@ int tenex_isvalid (char *name,char *tmp) > + if (sbuf.st_ctime > sbuf.st_atime) { > + tp[0] = sbuf.st_atime; /* preserve atime and mtime */ > + tp[1] = sbuf.st_mtime; > +- utime (file,tp); /* set the times */ > ++ utime (file, (const struct utimbuf *)tp); /* set the times */ > + } > + } > + } > +@@ -654,7 +654,7 @@ void tenex_flag (MAILSTREAM *stream,char *sequence,char > *flag,long flags) > + fstat (LOCAL->fd,&sbuf); /* get current write time */ > + tp[1] = LOCAL->filetime = sbuf.st_mtime; > + tp[0] = time (0); /* make sure read comes after all that */ > +- utime (stream->mailbox,tp); > ++ utime (stream->mailbox, (const struct utimbuf *)tp); > + } > + } > + > +@@ -924,7 +924,7 @@ long tenex_expunge (MAILSTREAM *stream,char > *sequence,long options) > + fstat (LOCAL->fd,&sbuf); /* get new write time */ > + tp[1] = LOCAL->filetime = sbuf.st_mtime; > + tp[0] = time (0); /* reset atime to now */ > +- utime (stream->mailbox,tp); > ++ utime (stream->mailbox, (const struct utimbuf *)tp); > + MM_NOCRITICAL (stream); /* release critical */ > + /* notify upper level of new mailbox size */ > + mail_exists (stream,stream->nmsgs); > +@@ -1019,7 +1019,7 @@ long tenex_copy (MAILSTREAM *stream,char > *sequence,char *mailbox,long options) > + /* else preserve \Marked status */ > + else tp[0] = (sbuf.st_ctime > sbuf.st_atime) ? sbuf.st_atime : time(0); > + tp[1] = sbuf.st_mtime; /* preserve mtime */ > +- utime (file,tp); /* set the times */ > ++ utime (file, (const struct utimbuf *)tp); /* set the times */ > + close (fd); /* close the file */ > + unlockfd (ld,lock); /* release exclusive parse/append permission > */ > + MM_NOCRITICAL (stream); /* release critical */ > +@@ -1036,7 +1036,7 @@ long tenex_copy (MAILSTREAM *stream,char > *sequence,char *mailbox,long options) > + fstat (LOCAL->fd,&sbuf); /* get current write time */ > + tp[1] = LOCAL->filetime = sbuf.st_mtime; > + tp[0] = time (0); /* make sure atime remains greater */ > +- utime (stream->mailbox,tp); > ++ utime (stream->mailbox, (const struct utimbuf *)tp); > + } > + } > + if (ret && mail_parameters (NIL,GET_COPYUID,NIL)) > +@@ -1159,7 +1159,7 @@ long tenex_append (MAILSTREAM *stream,char > *mailbox,append_t af,void *data) > + /* else preserve \Marked status */ > + else tp[0] = (sbuf.st_ctime > sbuf.st_atime) ? sbuf.st_atime : time(0); > + tp[1] = sbuf.st_mtime; /* preserve mtime */ > +- utime (file,tp); /* set the times */ > ++ utime (file, (const struct utimbuf *)tp); /* set the times */ > + fclose (df); /* close the file */ > + unlockfd (ld,lock); /* release exclusive parse/append permission > */ > + MM_NOCRITICAL (stream); /* release critical */ > +@@ -1324,7 +1324,7 @@ long tenex_parse (MAILSTREAM *stream) > + time_t tp[2]; > + tp[0] = time (0); > + tp[1] = LOCAL->filetime; > +- utime (stream->mailbox,tp); > ++ utime (stream->mailbox, (const struct utimbuf *)tp); > + } > + stream->silent = silent; /* can pass up events now */ > + mail_exists (stream,nmsgs); /* notify upper level of new mailbox size */ > +@@ -1424,7 +1424,7 @@ void tenex_update_status (MAILSTREAM *stream,unsigned > long msgno,long syncflag) > + fstat (LOCAL->fd,&sbuf); /* get new write time */ > + tp[1] = LOCAL->filetime = sbuf.st_mtime; > + tp[0] = time (0); /* make sure read is later */ > +- utime (stream->mailbox,tp); > ++ utime (stream->mailbox, (const struct utimbuf *)tp); > + } > + } > + } > +diff --git a/src/osdep/unix/unix.c b/src/osdep/unix/unix.c > +index 86be3f9..012dc83 100644 > +--- a/src/osdep/unix/unix.c > ++++ b/src/osdep/unix/unix.c > +@@ -232,7 +232,7 @@ DRIVER *unix_valid (char *name) > + if ((sbuf.st_ctime > sbuf.st_atime) || (sbuf.st_mtime > > sbuf.st_atime)) { > + tp[0] = sbuf.st_atime; /* yes, preserve atime and mtime */ > + tp[1] = sbuf.st_mtime; > +- utime (file,tp); /* set the times */ > ++ utime (file, (const struct utimbuf *)tp); /* set the times */ > + } > + } > + } > +@@ -999,7 +999,7 @@ long unix_copy (MAILSTREAM *stream,char *sequence,char > *mailbox,long options) > + else tp[0] = /* else preserve \Marked status */ > + ((sbuf.st_ctime > sbuf.st_atime) || (sbuf.st_mtime > sbuf.st_atime)) > ? > + sbuf.st_atime : tp[1]; > +- utime (file,tp); /* set the times */ > ++ utime (file, (const struct utimbuf *)tp); /* set the times */ > + unix_unlock (fd,NIL,&lock); /* unlock and close mailbox */ > + if (tstream) { /* update last UID if we can */ > + UNIXLOCAL *local = (UNIXLOCAL *) tstream->local; > +@@ -1160,7 +1160,7 @@ long unix_append (MAILSTREAM *stream,char > *mailbox,append_t af,void *data) > + ret = NIL; /* return error */ > + } > + else tp[0] = tp[1] - 1; /* set atime to now-1 if successful copy */ > +- utime (file,tp); /* set the times */ > ++ utime (file, (const struct utimbuf *)tp); /* set the times */ > + fclose (sf); /* done with scratch file */ > + /* force UIDVALIDITY assignment now */ > + if (tstream && !tstream->uid_validity) tstream->uid_validity = time (0); > +@@ -1425,7 +1425,7 @@ void unix_unlock (int fd,MAILSTREAM *stream,DOTLOCK > *lock) > + } > + else now = 0; /* no time change needed */ > + /* set the times, note change */ > +- if (now && !utime (stream->mailbox,tp)) LOCAL->filetime = tp[1]; > ++ if (now && !utime (stream->mailbox, (const struct utimbuf *)tp)) > LOCAL->filetime = tp[1]; > + } > + flock (fd,LOCK_UN); /* release flock'ers */ > + if (!stream) close (fd); /* close the file if no stream */ > +@@ -2251,7 +2251,7 @@ long unix_rewrite (MAILSTREAM *stream,unsigned long > *nexp,DOTLOCK *lock, > + /* set atime to now, mtime a second earlier */ > + tp[1] = (tp[0] = time (0)) - 1; > + /* set the times, note change */ > +- if (!utime (stream->mailbox,tp)) LOCAL->filetime = tp[1]; > ++ if (!utime (stream->mailbox, (const struct utimbuf *)tp)) > LOCAL->filetime = tp[1]; > + close (LOCAL->fd); /* close and reopen file */ > + if ((LOCAL->fd = open (stream->mailbox,O_RDWR, > + (long) mail_parameters > (NIL,GET_MBXPROTECTION,NIL))) > diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb > b/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb > index 17faa3aa6..7e3bddb58 100644 > --- a/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb > +++ b/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb > @@ -16,6 +16,7 @@ SRC_URI = > "https://fossies.org/linux/misc/old/imap-${PV}.tar.gz \ > file://0002-tmail-Include-ctype.h-for-isdigit.patch \ > file://0001-Fix-Wincompatible-function-pointer-types.patch \ > file://uw-imap-newer-tls.patch \ > + file://uw-imap-fix-incompatible-pointer-types.patch \ > " > > SRC_URI[md5sum] = "2126fd125ea26b73b20f01fcd5940369" > -- > 2.34.1 > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#110753): https://lists.openembedded.org/g/openembedded-devel/message/110753 Mute This Topic: https://lists.openembedded.org/mt/106526690/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
