diff options
author | relyea%netscape.com <devnull@localhost> | 2001-03-26 23:18:36 +0000 |
---|---|---|
committer | relyea%netscape.com <devnull@localhost> | 2001-03-26 23:18:36 +0000 |
commit | 4eaebcaf6b017b72aa0afc268c570d15699db3f5 (patch) | |
tree | 80d54626a420e2413c6bc354a1b863f83f58f301 | |
parent | 5bdccafeb958af2d93e0000fcef0ce34b9206b45 (diff) | |
download | nss-hg-4eaebcaf6b017b72aa0afc268c570d15699db3f5.tar.gz |
Add new functions which adds a an object to the list with associated data.
Fix a bug where the ':' in the nickname is not being removed when it was supposed to be.
-rw-r--r-- | security/nss/lib/certdb/cert.h | 8 | ||||
-rw-r--r-- | security/nss/lib/certdb/certdb.c | 21 | ||||
-rw-r--r-- | security/nss/lib/certdb/pcertdb.c | 4 |
3 files changed, 28 insertions, 5 deletions
diff --git a/security/nss/lib/certdb/cert.h b/security/nss/lib/certdb/cert.h index da12103f9..59b4031be 100644 --- a/security/nss/lib/certdb/cert.h +++ b/security/nss/lib/certdb/cert.h @@ -1076,6 +1076,14 @@ CERT_AddCertToListTail(CERTCertList *certs, CERTCertificate *cert); SECStatus CERT_AddCertToListHead(CERTCertList *certs, CERTCertificate *cert); +SECStatus +CERT_AddCertToListTailWithData(CERTCertList *certs, CERTCertificate *cert, + void *appData); + +SECStatus +CERT_AddCertToListHeadWithData(CERTCertList *certs, CERTCertificate *cert, + void *appData); + typedef PRBool (* CERTSortCallback)(CERTCertificate *certa, CERTCertificate *certb, void *arg); diff --git a/security/nss/lib/certdb/certdb.c b/security/nss/lib/certdb/certdb.c index e626581ac..3d35b9673 100644 --- a/security/nss/lib/certdb/certdb.c +++ b/security/nss/lib/certdb/certdb.c @@ -2019,8 +2019,10 @@ CERT_RemoveCertListNode(CERTCertListNode *node) return; } + SECStatus -CERT_AddCertToListTail(CERTCertList *certs, CERTCertificate *cert) +CERT_AddCertToListTailWithData(CERTCertList *certs, + CERTCertificate *cert, void *appData) { CERTCertListNode *node; @@ -2033,6 +2035,7 @@ CERT_AddCertToListTail(CERTCertList *certs, CERTCertificate *cert) PR_INSERT_BEFORE(&node->links, &certs->list); /* certs->count++; */ node->cert = cert; + node->appData = appData; return(SECSuccess); loser: @@ -2040,7 +2043,14 @@ loser: } SECStatus -CERT_AddCertToListHead(CERTCertList *certs, CERTCertificate *cert) +CERT_AddCertToListTail(CERTCertList *certs, CERTCertificate *cert) +{ + CERT_AddCertToListTailWithData(certs, cert, NULL); +} + +SECStatus +CERT_AddCertToListHeadWithData(CERTCertList *certs, + CERTCertificate *cert, void *appData) { CERTCertListNode *node; CERTCertListNode *head; @@ -2058,12 +2068,19 @@ CERT_AddCertToListHead(CERTCertList *certs, CERTCertificate *cert) PR_INSERT_BEFORE(&node->links, &head->links); /* certs->count++; */ node->cert = cert; + node->appData = appData; return(SECSuccess); loser: return(SECFailure); } +SECStatus +CERT_AddCertToListHead(CERTCertList *certs, CERTCertificate *cert) +{ + return CERT_AddCertToListHeadWithData(certs, cert, NULL); +} + /* * Sort callback function to determine if cert a is newer than cert b. * Not valid certs are considered older than valid certs. diff --git a/security/nss/lib/certdb/pcertdb.c b/security/nss/lib/certdb/pcertdb.c index 611a9b5c6..f4f6d3483 100644 --- a/security/nss/lib/certdb/pcertdb.c +++ b/security/nss/lib/certdb/pcertdb.c @@ -3988,8 +3988,6 @@ UpdateV5DB(CERTCertDBHandle *handle, DB *updatedb) (* updatedb->close)(updatedb); return(SECSuccess); - - return(rv); } static PRBool @@ -4720,7 +4718,7 @@ cert_parseNickname(char *nickname) for (cp=nickname; *cp && *cp != ':'; cp++); - if (*cp == ':') return cp++; + if (*cp == ':') return cp+1; return nickname; } |