diff options
Diffstat (limited to 'usr/src/cmd/fm/modules/common/eversholt/eval.c')
-rw-r--r-- | usr/src/cmd/fm/modules/common/eversholt/eval.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/usr/src/cmd/fm/modules/common/eversholt/eval.c b/usr/src/cmd/fm/modules/common/eversholt/eval.c index f7bd53227c..54b24f8513 100644 --- a/usr/src/cmd/fm/modules/common/eversholt/eval.c +++ b/usr/src/cmd/fm/modules/common/eversholt/eval.c @@ -649,6 +649,18 @@ eval_func(struct node *funcnp, struct lut *ex, struct node *events[], serdvalp->v = (uintptr_t)stable(buf); FREE(buf); } + if (funcname == L_setserdsuffix && + serdvalp->t == UINT64) { + int len = snprintf(NULL, 0, "%lld", + serdvalp->v); + char *buf = MALLOC(len + 1); + + (void) snprintf(buf, len + 1, "%lld", + serdvalp->v); + serdvalp->t = STRING; + serdvalp->v = (uintptr_t)stable(buf); + FREE(buf); + } if (serdvalp->t == UINT64) out(O_ALTFP|O_VERB2, " (%llu)", serdvalp->v); |