osaf/tools/saflog/saflogger/saf_logger.c | 49
++++++++++++++++++++++---------
1 files changed, 35 insertions(+), 14 deletions(-)
If there are invalid non-options, show them, recommend use --help and
then exit.
diff --git a/osaf/tools/saflog/saflogger/saf_logger.c
b/osaf/tools/saflog/saflogger/saf_logger.c
--- a/osaf/tools/saflog/saflogger/saf_logger.c
+++ b/osaf/tools/saflog/saflogger/saf_logger.c
@@ -311,14 +311,48 @@ int main(int argc, char *argv[])
logRecord.logHeader.genericHdr.logSeverity =
get_severity(optarg);
break;
case 'h':
+ usage();
+ exit(EXIT_SUCCESS);
+ break;
case '?':
default:
- usage();
+ fprintf(stderr, "Try saflogger -h for more
information.\n");
exit(EXIT_FAILURE);
break;
}
}
+ if (optind >= argc) {
+ /* No body of log record */
+ }
+ else if (optind == argc - 1) {
+ /* Create body of log record */
+ int sz;
+ char *logBuf = NULL;
+ sz = strlen(argv[optind]);
+ logBuf = malloc(sz + 64); /* add space for index/id in
periodic writes */
+ strcpy(logBuf, argv[optind]);
+ logBuffer.logBufSize = sz;
+ logBuffer.logBuf = (SaUint8T *)logBuf;
+ logRecord.logBuffer = &logBuffer;
+ }
+ else {
+ fprintf(stderr, "Invalid argument.\n");
+ fprintf(stderr, "Enclose message in quotation marks \"\" e.g.
\"");
+ while (optind < argc)
+ {
+ fprintf(stderr, "%s", argv[optind++]);
+ if (optind < argc)
+ fprintf(stderr, " ");
+ else
+ fprintf(stderr, "\"\n");
+ }
+ fprintf(stderr, "Try saflogger -h for more information.\n");
+ exit(EXIT_FAILURE);
+ }
+
+ logStreamName.length = strlen((char *)logStreamName.value);
+
if (logRecord.logHdrType == SA_LOG_NTF_HEADER) {
/* Setup some valid values */
logRecord.logHeader.ntfHdr.notificationId =
SA_NTF_IDENTIFIER_UNUSED;
@@ -329,19 +363,6 @@ int main(int argc, char *argv[])
logRecord.logHeader.ntfHdr.eventTime = get_current_SaTime();
}
- logStreamName.length = strlen((char *)logStreamName.value);
-
- /* Create body of log record (if any) */
- if (optind < argc) {
- int sz;
- char *logBuf = NULL;
- sz = strlen(argv[optind]);
- logBuf = malloc(sz + 64); /* add space for index/id in
periodic writes */
- strcpy(logBuf, argv[optind]);
- logBuffer.logBufSize = sz;
- logBuffer.logBuf = (SaUint8T *)logBuf;
- logRecord.logBuffer = &logBuffer;
- }
wait_time = 0;
error = saLogInitialize(&logHandle, &logCallbacks, &logVersion);
------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel