+ case SILC_ATTRIBUTE_PHONE_NUMBER:
+ {
+ SilcAttributeObjPN *pn = object;
+ if (object_size != sizeof(*pn))
+ return NULL;
+ if (!pn->number || strlen(pn->number) < 5)
+ return NULL;
+ tmpbuf = silc_buffer_alloc(0);
+ if (!tmpbuf)
+ return NULL;
+ if (silc_buffer_format(tmpbuf,
+ SILC_STR_UI_INT(pn->format),
+ SILC_STR_UI_SHORT(strlen(pn->number)),
+ SILC_STR_UI16_STRING(pn->number),
+ SILC_STR_END) < 0)
+ return NULL;
+ object = tmpbuf->data;
+ object_size = silc_buffer_len(tmpbuf);
+ }
+ break;
+