@@ -36,6 +36,7 @@ sentry_options_new(void)
3636 if (!opts -> environment ) {
3737 opts -> environment = sentry__string_clone ("production" );
3838 }
39+ sentry_options_set_sdk_name (opts , SENTRY_SDK_NAME );
3940 opts -> max_breadcrumbs = SENTRY_BREADCRUMBS_MAX ;
4041 opts -> user_consent = SENTRY_USER_CONSENT_UNKNOWN ;
4142 opts -> auto_session_tracking = true;
@@ -84,6 +85,8 @@ sentry_options_free(sentry_options_t *opts)
8485 }
8586 sentry__dsn_decref (opts -> dsn );
8687 sentry_free (opts -> release );
88+ sentry_free (opts -> sdk_name );
89+ sentry_free (opts -> user_agent );
8790 sentry_free (opts -> environment );
8891 sentry_free (opts -> dist );
8992 sentry_free (opts -> http_proxy );
@@ -295,6 +298,51 @@ sentry_options_get_transport_thread_name(const sentry_options_t *opts)
295298 return opts -> transport_thread_name ;
296299}
297300
301+ int
302+ sentry_options_set_sdk_name (sentry_options_t * opts , const char * sdk_name )
303+ {
304+ if (!opts || !sdk_name ) {
305+ return 1 ;
306+ }
307+ const size_t sdk_name_len = strlen (sdk_name );
308+ return sentry_options_set_sdk_name_n (opts , sdk_name , sdk_name_len );
309+ }
310+
311+ int
312+ sentry_options_set_sdk_name_n (
313+ sentry_options_t * opts , const char * sdk_name , size_t sdk_name_len )
314+ {
315+ if (!opts || !sdk_name ) {
316+ return 1 ;
317+ }
318+
319+ sentry_free (opts -> sdk_name );
320+ opts -> sdk_name = sentry__string_clone_n (sdk_name , sdk_name_len );
321+
322+ sentry_stringbuilder_t sb ;
323+ sentry__stringbuilder_init (& sb );
324+ sentry__stringbuilder_append (& sb , opts -> sdk_name );
325+ sentry__stringbuilder_append (& sb , "/" );
326+ sentry__stringbuilder_append (& sb , SENTRY_SDK_VERSION );
327+
328+ sentry_free (opts -> user_agent );
329+ opts -> user_agent = sentry__stringbuilder_into_string (& sb );
330+
331+ return 0 ;
332+ }
333+
334+ const char *
335+ sentry_options_get_sdk_name (const sentry_options_t * opts )
336+ {
337+ return opts -> sdk_name ;
338+ }
339+
340+ const char *
341+ sentry_options_get_user_agent (const sentry_options_t * opts )
342+ {
343+ return opts -> user_agent ;
344+ }
345+
298346void
299347sentry_options_set_debug (sentry_options_t * opts , int debug )
300348{
0 commit comments