--- opd.orig/main.c 2011-03-12 10:45:12.000000000 +0000 +++ opd/main.c 2011-03-12 12:20:51.000000000 +0000 @@ -100,7 +100,7 @@ // // // -sdp_record_t obex_record; +sdp_record_t *obex_record; int add_opush(sdp_session_t *session) { @@ -111,20 +111,20 @@ uint8_t u8 = srv_RFCommChannel; sdp_data_t *channel; - memset((void *)&obex_record, 0, sizeof(sdp_record_t)); - obex_record.handle = 0xffffffff; + obex_record = sdp_record_alloc(); + sdp_uuid16_create(&root_uuid, PUBLIC_BROWSE_GROUP); root = sdp_list_append(0, &root_uuid); - sdp_set_browse_groups(&obex_record, root); + sdp_set_browse_groups(obex_record, root); sdp_uuid16_create(&opush_uuid, OBEX_OBJPUSH_SVCLASS_ID); svclass_id = sdp_list_append(0, &opush_uuid); - sdp_set_service_classes(&obex_record, svclass_id); + sdp_set_service_classes(obex_record, svclass_id); sdp_uuid16_create(&profile[0].uuid, OBEX_OBJPUSH_PROFILE_ID); profile[0].version = 0x0100; pfseq = sdp_list_append(0, profile); - sdp_set_profile_descs(&obex_record, pfseq); + sdp_set_profile_descs(obex_record, pfseq); sdp_uuid16_create(&l2cap_uuid, L2CAP_UUID); proto[0] = sdp_list_append(0, &l2cap_uuid); @@ -141,7 +141,7 @@ apseq = sdp_list_append(apseq, proto[2]); aproto = sdp_list_append(0, apseq); - sdp_set_access_protos(&obex_record, aproto); + sdp_set_access_protos(obex_record, aproto); sdp_data_free(channel); sdp_list_free(proto[0], 0); sdp_list_free(proto[1], 0); @@ -149,7 +149,7 @@ sdp_list_free(apseq, 0); sdp_list_free(aproto, 0); - sdp_set_info_attr(&obex_record, "OBEX Object Push", 0, 0); + sdp_set_info_attr(obex_record, "OBEX Object Push", 0, 0); @@ -169,7 +169,7 @@ values[i] = &formats [i]; } seq = sdp_seq_alloc (dtds, values, sizeof (formats)); - sdp_attr_add(&obex_record, 0x303, seq); + sdp_attr_add(obex_record, 0x303, seq); free (dtds); @@ -179,7 +179,7 @@ - if (0 > sdp_record_register(session, &obex_record, SDP_RECORD_PERSIST)) { + if (0 > sdp_record_register(session, obex_record, SDP_RECORD_PERSIST)) { syslog(LOG_ERR,"OBEX Object Push Service Record registration failed with sdpd.\n"); return -1; } @@ -351,7 +351,7 @@ if( srv_Modes & OPDM_OBEX ){ - ret = sdp_record_unregister(sess, &obex_record); + ret = sdp_record_unregister(sess, obex_record); } if( srv_Modes & OPDM_BIP ){