diff -u --new-file --recursive --exclude-from=/tmp/cvs.exclude.gphoto gphoto.orig/photopc/olympus.c gphoto/photopc/olympus.c --- gphoto.orig/photopc/olympus.c Wed Jul 5 13:07:49 2000 +++ gphoto/photopc/olympus.c Sat Aug 5 11:49:46 2000 @@ -277,6 +308,8 @@ char *info, *camID; off_t info_size = 2048; time_t camtime; + time_t gmttime; + struct tm *loctime; char *atime; long value; @@ -526,8 +559,8 @@ eph_getint(iob,2,&camtime); update_progress(1.0); - atime = ctime(&camtime); - label = gtk_label_new(atime); + atime = asctime(gmtime(&camtime)); + label = gtk_label_new(atime); gtk_widget_show(label); gtk_table_attach_defaults(GTK_TABLE(table),label,3,5,11,12); @@ -639,9 +672,17 @@ /* Set the clock... */ if (GTK_WIDGET_STATE(Config.clk_comp) == GTK_STATE_ACTIVE) { - camtime = time(&camtime); - eph_setint(iob,2,camtime); - sleep(1); + gmttime = time(NULL); + loctime = localtime(&gmttime); + + /* + * Let's get the Seconds east of UTC + */ +#ifdef __USE_BSD + eph_setint(iob,2,gmttime+loctime->tm_gmtoff); +#else + eph_setint(iob,2,gmttime+loctime->__tm_gmtoff); +#endif } update_progress(1.00); oly_close_camera();