summaryrefslogtreecommitdiff
path: root/examples/embd-input/embd-input-lib.cpp
diff options
context:
space:
mode:
authorGeorgi Gerganov <ggerganov@gmail.com>2023-07-01 18:46:00 +0300
committerGeorgi Gerganov <ggerganov@gmail.com>2023-07-01 18:46:00 +0300
commit79f634a19d1c32a6cfb1befc21551ee684fced6b (patch)
treebe75c79f53ea2c357f39aeda132c9272baf669bd /examples/embd-input/embd-input-lib.cpp
parent04606a159947566b27810508433e6ca5dbc684ba (diff)
embd-input : fix returning ptr to temporary
Diffstat (limited to 'examples/embd-input/embd-input-lib.cpp')
-rw-r--r--examples/embd-input/embd-input-lib.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/examples/embd-input/embd-input-lib.cpp b/examples/embd-input/embd-input-lib.cpp
index 37de52ad..570e273f 100644
--- a/examples/embd-input/embd-input-lib.cpp
+++ b/examples/embd-input/embd-input-lib.cpp
@@ -210,9 +210,12 @@ llama_token sampling_id(struct MyModel* mymodel) {
const char * sampling(struct MyModel * mymodel) {
llama_context * ctx = mymodel->ctx;
int id = sampling_id(mymodel);
- std::string ret;
- if (id == llama_token_eos()) ret = "</s>";
- else ret = llama_token_to_str(ctx, id);
+ static std::string ret;
+ if (id == llama_token_eos()) {
+ ret = "</s>";
+ } else {
+ ret = llama_token_to_str(ctx, id);
+ }
eval_id(mymodel, id);
return ret.c_str();
}