Module: kamailio
Branch: master
Commit: 00b52cd4efe1417f3171f39d266a3bc5cb15f6ba
URL: 
https://github.com/kamailio/kamailio/commit/00b52cd4efe1417f3171f39d266a3bc5cb15f6ba

Author: Daniel-Constantin Mierla <mico...@gmail.com>
Committer: Daniel-Constantin Mierla <mico...@gmail.com>
Date: 2025-08-02T12:31:59+02:00

core: sruid - functions to get unique id with a number suffix

---

Modified: src/core/utils/sruid.c
Modified: src/core/utils/sruid.h

---

Diff:  
https://github.com/kamailio/kamailio/commit/00b52cd4efe1417f3171f39d266a3bc5cb15f6ba.diff
Patch: 
https://github.com/kamailio/kamailio/commit/00b52cd4efe1417f3171f39d266a3bc5cb15f6ba.patch

---

diff --git a/src/core/utils/sruid.c b/src/core/utils/sruid.c
index 9e9b17c64cb..ab24b14a320 100644
--- a/src/core/utils/sruid.c
+++ b/src/core/utils/sruid.c
@@ -243,6 +243,22 @@ int sruid_nexthid(sruid_t *sid, str *sval)
        return sruid_nextx(sid, &hval);
 }
 
+/**
+ *
+ */
+int sruid_nextunid(sruid_t *sid, unsigned int nid)
+{
+       char buf_int[INT2STR_MAX_LEN];
+       str hval = str_init("0");
+
+       if(nid == 0) {
+               return sruid_nextx(sid, &hval);
+       }
+
+       hval.s = int2strbuf(nid, buf_int, INT2STR_MAX_LEN, &hval.len);
+       return sruid_nextx(sid, &hval);
+}
+
 /**
  *
  */
@@ -271,6 +287,16 @@ int sruid_nexthid_safe(sruid_t *sid, str *sval)
        return sruid_nexthid(sid, sval);
 }
 
+/**
+ *
+ */
+int sruid_nextunid_safe(sruid_t *sid, unsigned int nid)
+{
+       if(unlikely(sid->pid != my_pid()))
+               sruid_reinit(sid, sid->mode);
+       return sruid_nextunid(sid, nid);
+}
+
 /**
  *
  */
diff --git a/src/core/utils/sruid.h b/src/core/utils/sruid.h
index fd6b98ed8b8..f60d787559a 100644
--- a/src/core/utils/sruid.h
+++ b/src/core/utils/sruid.h
@@ -61,6 +61,9 @@ int sruid_nextx_safe(sruid_t *sid, str *x);
 int sruid_nexthid(sruid_t *sid, str *sval);
 int sruid_nexthid_safe(sruid_t *sid, str *sval);
 
+int sruid_nextunid(sruid_t *sid, unsigned int nid);
+int sruid_nextunid_safe(sruid_t *sid, unsigned int nid);
+
 typedef int (*sruid_uuid_generate_f)(char *out, int *len);
 
 typedef struct sruid_uuid_api

_______________________________________________
Kamailio - Development Mailing List -- sr-dev@lists.kamailio.org
To unsubscribe send an email to sr-dev-le...@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the 
sender!

Reply via email to