diff --git a/api/boinc_api.C b/api/boinc_api.C
index a6e688cf31..ce9a7f13ce 100644
--- a/api/boinc_api.C
+++ b/api/boinc_api.C
@@ -232,7 +232,7 @@ static int update_app_progress(
sprintf(msg_buf,
"%2.8f\n"
"%10.4f\n"
- "%10.4f\n"
+ "%.15e\n"
"%f\n",
frac_done, cpu_t, cp_cpu_t, ws_t
);
@@ -463,6 +463,7 @@ int boinc_init(bool standalone_ /* = false */) {
}
time_until_checkpoint = aid.checkpoint_period;
+ last_checkpoint_cpu_time = aid.wu_cpu_time;
time_until_fraction_done_update = aid.fraction_done_update_period;
this_process_active = true;
last_wu_cpu_time = aid.wu_cpu_time;
diff --git a/apps/upper_case.C b/apps/upper_case.C
index 68755573f8..5f685393ed 100755
--- a/apps/upper_case.C
+++ b/apps/upper_case.C
@@ -109,7 +109,7 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR Args, int WinMode
int main(int argc, char **argv) {
int c, nchars = 0, retval, i, n;
- double j;
+ double j, fsize;
char resolved_name[512];
MFILE out;
FILE* state, *in;
@@ -150,6 +150,7 @@ int main(int argc, char **argv) {
// );
fprintf(stderr, "APP: upper_case: starting, argc %d\n", argc);
+
boinc_resolve_filename("in", resolved_name, sizeof(resolved_name));
in = fopen(resolved_name, "r");
if (in == NULL) {
@@ -161,6 +162,8 @@ int main(int argc, char **argv) {
exit(-1);
}
+ file_size(resolved_name, fsize);
+
boinc_resolve_filename(CHECKPOINT_FILE, resolved_name, sizeof(resolved_name));
state = fopen(resolved_name, "r");
if (state) {
@@ -226,6 +229,8 @@ int main(int argc, char **argv) {
}
boinc_checkpoint_completed();
}
+
+ boinc_fraction_done(nchars/fsize);
}
retval = out.flush();
if (retval) {
diff --git a/checkin_notes b/checkin_notes
index c274e37f50..0f4210225b 100755
--- a/checkin_notes
+++ b/checkin_notes
@@ -7649,3 +7649,18 @@ Eric 10 Nov 2003
lib/filesys.C
+David 9 Nov 2003
+ - boinc_init(): initialize last_checkpoint_cpu_time.
+ This is why reported CPU time would sometimes go to zero
+ - Upper case app: report fraction done like you're supposed to
+ - Write checkpoint CPU time in %.15e format.
+ SHOULD ALWAYS USE THIS FOR FLOATING PT NUMBERS
+ - released version 2.06 of upper_case in the client test project.
+ Also changed est FP ops in that DB so that clients get few results
+
+ api/
+ boinc_api.C
+ apps/
+ upper_case.C
+ win_builc/
+ upper_case.dsp
diff --git a/win_build/upper_case.dsp b/win_build/upper_case.dsp
index 9d8419ff89..fd447861ca 100755
--- a/win_build/upper_case.dsp
+++ b/win_build/upper_case.dsp
@@ -79,7 +79,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 winmm.lib opengl32.lib glu32.lib glaux.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept /libpath:"..\boinc_dll\Debug"
+# ADD LINK32 winmm.lib opengl32.lib glu32.lib glaux.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib /nologo /subsystem:windows /debug /machine:I386 /out:"uppercase_2.06_windows_intelx86.exe" /pdbtype:sept /libpath:"..\boinc_dll\Debug"
!ENDIF
@@ -104,10 +104,6 @@ SOURCE=..\lib\filesys.C
# End Source File
# Begin Source File
-SOURCE=..\api\graphics_api.C
-# End Source File
-# Begin Source File
-
SOURCE=..\api\mfile.C
# End Source File
# Begin Source File