Ticket #1118: wince_fflush_wrap.patch

File wince_fflush_wrap.patch, 1.6 KB (added by leonardohamada, 7 years ago)

fflush fix for WinCE

  • navit/debug.c

     
    249249                if (! fp)
    250250                        fp = stderr;
    251251                fprintf(fp,"%s",xbuffer);
    252                 fflush(fp);
     252                util_flush_os_file_buffer_wrap(fp);
    253253#endif
    254254#endif
    255255        }
     
    290290                debug_destroy();
    291291                debug_fp = fp;
    292292                fprintf(debug_fp, "Navit log started\n");
    293                 fflush(debug_fp);
     293                util_flush_os_file_buffer_wrap(debug_fp);
    294294        }
    295295}
    296296
  • navit/log.c

     
    137137                return;
    138138        if (this_->trailer.len)
    139139                fwrite(this_->trailer.data, 1, this_->trailer.len, this_->f);
    140         fflush(this_->f);
     140        util_flush_os_file_buffer_wrap(this_->f);
    141141        fclose(this_->f);
    142142        this_->f=NULL;
    143143}
     
    175175        }
    176176        if (flags & log_flag_keep_pointer)
    177177                fseek(this_->f, -this_->data.len, SEEK_CUR);
    178         fflush(this_->f);
     178        util_flush_os_file_buffer_wrap(this_->f);
    179179        if (!(flags & log_flag_keep_buffer)) {
    180180                g_free(this_->data.data);
    181181                this_->data.data=NULL;
  • navit/util.c

     
    697697        return;
    698698}
    699699
    700 
     700/**
     701 * Wrapper for fflush.
     702 *
     703 * @param in _file a file whose data is to be written to disk.
     704 */
     705void
     706util_flush_os_file_buffer_wrap(FILE *_file)
     707{
     708#if defined(HAVE_API_WIN32_CE) && defined(__COREDLL__)
     709        FlushFileBuffers((HANDLE) _fileno(_file));
     710#else
     711        fflush(f);
     712#endif
     713}