From f75f26b69b970aaba557107b403b7b0cc97dcee4 Mon Sep 17 00:00:00 2001 From: Andy McFadden Date: Tue, 18 Feb 2003 21:41:10 +0000 Subject: [PATCH] Updated for new callback setter return type. --- nufxlib-0/Entry.c | 51 +++++++++++++++++++++++------------ nufxlib-0/samples/Exerciser.c | 17 +++--------- nufxlib-0/samples/TestBasic.c | 32 +++++++++++++--------- 3 files changed, 57 insertions(+), 43 deletions(-) diff --git a/nufxlib-0/Entry.c b/nufxlib-0/Entry.c index c471306..4cd9877 100644 --- a/nufxlib-0/Entry.c +++ b/nufxlib-0/Entry.c @@ -757,77 +757,94 @@ NuIsPresizedThreadID(NuThreadID threadID) * =========================================================================== */ -NUFXLIB_API NuError +NUFXLIB_API NuCallback NuSetSelectionFilter(NuArchive* pArchive, NuCallback filterFunc) { NuError err; + NuCallback oldFunc = kNuInvalidCallback; /*Assert(!((ulong)filterFunc % 4));*/ - if ((err = Nu_ValidateNuArchive(pArchive)) == kNuErrNone) + if ((err = Nu_ValidateNuArchive(pArchive)) == kNuErrNone) { + oldFunc = pArchive->selectionFilterFunc; pArchive->selectionFilterFunc = filterFunc; + } - return err; + return oldFunc; } -NUFXLIB_API NuError +NUFXLIB_API NuCallback NuSetOutputPathnameFilter(NuArchive* pArchive, NuCallback filterFunc) { NuError err; + NuCallback oldFunc = kNuInvalidCallback; /*Assert(!((ulong)filterFunc % 4));*/ - if ((err = Nu_ValidateNuArchive(pArchive)) == kNuErrNone) + if ((err = Nu_ValidateNuArchive(pArchive)) == kNuErrNone) { + oldFunc = pArchive->outputPathnameFunc; pArchive->outputPathnameFunc = filterFunc; + } - return err; + return oldFunc; } -NUFXLIB_API NuError +NUFXLIB_API NuCallback NuSetProgressUpdater(NuArchive* pArchive, NuCallback updateFunc) { NuError err; + NuCallback oldFunc = kNuInvalidCallback; /*Assert(!((ulong)updateFunc % 4));*/ - if ((err = Nu_ValidateNuArchive(pArchive)) == kNuErrNone) + if ((err = Nu_ValidateNuArchive(pArchive)) == kNuErrNone) { + oldFunc = pArchive->progressUpdaterFunc; pArchive->progressUpdaterFunc = updateFunc; + } - return err; + return oldFunc; } -NUFXLIB_API NuError +NUFXLIB_API NuCallback NuSetErrorHandler(NuArchive* pArchive, NuCallback errorFunc) { NuError err; + NuCallback oldFunc = kNuInvalidCallback; /*Assert(!((ulong)errorFunc % 4));*/ - if ((err = Nu_ValidateNuArchive(pArchive)) == kNuErrNone) + if ((err = Nu_ValidateNuArchive(pArchive)) == kNuErrNone) { + oldFunc = pArchive->errorHandlerFunc; pArchive->errorHandlerFunc = errorFunc; + } - return err; + return oldFunc; } -NUFXLIB_API NuError +NUFXLIB_API NuCallback NuSetErrorMessageHandler(NuArchive* pArchive, NuCallback messageHandlerFunc) { NuError err; + NuCallback oldFunc = kNuInvalidCallback; /*Assert(!((ulong)messageHandlerFunc % 4));*/ - if ((err = Nu_ValidateNuArchive(pArchive)) == kNuErrNone) + if ((err = Nu_ValidateNuArchive(pArchive)) == kNuErrNone) { + oldFunc = pArchive->messageHandlerFunc; pArchive->messageHandlerFunc = messageHandlerFunc; + } - return err; + return oldFunc; } -NUFXLIB_API NuError +NUFXLIB_API NuCallback NuSetGlobalErrorMessageHandler(NuCallback messageHandlerFunc) { + NuCallback oldFunc = kNuInvalidCallback; /*Assert(!((ulong)messageHandlerFunc % 4));*/ + oldFunc = gNuGlobalErrorMessageHandler; gNuGlobalErrorMessageHandler = messageHandlerFunc; - return kNuErrNone; + return oldFunc; } diff --git a/nufxlib-0/samples/Exerciser.c b/nufxlib-0/samples/Exerciser.c index 2430a6f..17df2f9 100644 --- a/nufxlib-0/samples/Exerciser.c +++ b/nufxlib-0/samples/Exerciser.c @@ -540,16 +540,11 @@ CloseFunc(ExerciserState* pState, int argc, char** argv) static NuError DeleteFunc(ExerciserState* pState, int argc, char** argv) { - NuError err; - (void) pState, (void) argc, (void) argv; /* shut up, gcc */ assert(ExerciserState_GetNuArchive(pState) != nil); assert(argc == 1); - err = NuSetSelectionFilter(ExerciserState_GetNuArchive(pState), - SelectionFilter); - if (err != kNuErrNone) - return err; + NuSetSelectionFilter(ExerciserState_GetNuArchive(pState), SelectionFilter); return NuDelete(ExerciserState_GetNuArchive(pState)); } @@ -588,16 +583,11 @@ DeleteThreadFunc(ExerciserState* pState, int argc, char** argv) static NuError ExtractFunc(ExerciserState* pState, int argc, char** argv) { - NuError err; - (void) pState, (void) argc, (void) argv; /* shut up, gcc */ assert(ExerciserState_GetNuArchive(pState) != nil); assert(argc == 1); - err = NuSetSelectionFilter(ExerciserState_GetNuArchive(pState), - SelectionFilter); - if (err != kNuErrNone) - return err; + NuSetSelectionFilter(ExerciserState_GetNuArchive(pState), SelectionFilter); return NuExtract(ExerciserState_GetNuArchive(pState)); } @@ -926,7 +916,8 @@ SetErrorCallbackFunc(ExerciserState* pState, int argc, char** argv) assert(ExerciserState_GetNuArchive(pState) != nil); assert(argc == 1); - return NuSetErrorHandler(ExerciserState_GetNuArchive(pState), ErrorHandler); + NuSetErrorHandler(ExerciserState_GetNuArchive(pState), ErrorHandler); + return kNuErrNone; } /* diff --git a/nufxlib-0/samples/TestBasic.c b/nufxlib-0/samples/TestBasic.c index 4a5df73..e0fa8e5 100644 --- a/nufxlib-0/samples/TestBasic.c +++ b/nufxlib-0/samples/TestBasic.c @@ -480,9 +480,10 @@ Test_Verify(NuArchive* pArchive) printf("... verifying CRCs\n"); - err = NuSetSelectionFilter(pArchive, VerifySelectionCallback); - if (err != kNuErrNone) { - fprintf(stderr, "ERROR: unable to set selection filter (err=%d)\n",err); + if (NuSetSelectionFilter(pArchive, VerifySelectionCallback) == + kNuInvalidCallback) + { + fprintf(stderr, "ERROR: unable to set selection filter\n"); goto failed; } @@ -982,9 +983,10 @@ DoTests(void) fprintf(stderr, "ERROR: NuOpenRW failed (err=%d)\n", err); goto failed; } - err = NuSetErrorMessageHandler(pArchive, ErrorMessageHandler); - if (err != kNuErrNone) { - fprintf(stderr, "ERROR: couldn't set message handler (err=%d)\n", err); + if (NuSetErrorMessageHandler(pArchive, ErrorMessageHandler) == + kNuInvalidCallback) + { + fprintf(stderr, "ERROR: couldn't set message handler\n"); goto failed; } @@ -1017,9 +1019,10 @@ DoTests(void) fprintf(stderr, "ERROR: NuOpenRO failed (err=%d)\n", err); goto failed; } - err = NuSetErrorMessageHandler(pArchive, ErrorMessageHandler); - if (err != kNuErrNone) { - fprintf(stderr, "ERROR: couldn't set message handler (err=%d)\n", err); + if (NuSetErrorMessageHandler(pArchive, ErrorMessageHandler) == + kNuInvalidCallback) + { + fprintf(stderr, "ERROR: couldn't set message handler\n"); goto failed; } @@ -1058,9 +1061,10 @@ DoTests(void) fprintf(stderr, "ERROR: re-NuOpenRW failed (err=%d)\n", err); goto failed; } - err = NuSetErrorMessageHandler(pArchive, ErrorMessageHandler); - if (err != kNuErrNone) { - fprintf(stderr, "ERROR: couldn't set message handler (err=%d)\n", err); + if (NuSetErrorMessageHandler(pArchive, ErrorMessageHandler) == + kNuInvalidCallback) + { + fprintf(stderr, "ERROR: couldn't set message handler\n"); goto failed; } @@ -1156,7 +1160,9 @@ main(void) " %s with [%s]\n\n", major, minor, bug, pBuildDate, pBuildFlags); - if (NuSetGlobalErrorMessageHandler(ErrorMessageHandler) != kNuErrNone) { + if (NuSetGlobalErrorMessageHandler(ErrorMessageHandler) == + kNuInvalidCallback) + { fprintf(stderr, "ERROR: can't set the global message handler"); exit(1); }