diff options
author | Ken Raeburn <raeburn@mit.edu> | 2008-09-09 21:23:35 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@mit.edu> | 2008-09-09 21:23:35 +0000 |
commit | 85e5934bf52e96e6dad8bacd1bb70f3bd68ff890 (patch) | |
tree | cffc1bb619ff7c80cd952a6b0406b84af068ee0b /src/lib/krb5/asn.1/asn1_get.c | |
parent | 0a17118f906570bdd2366aad3a7346df42f3221d (diff) | |
download | krb5-85e5934bf52e96e6dad8bacd1bb70f3bd68ff890.zip krb5-85e5934bf52e96e6dad8bacd1bb70f3bd68ff890.tar.gz krb5-85e5934bf52e96e6dad8bacd1bb70f3bd68ff890.tar.bz2 |
Untabify; trim trailing whitespace; add emacs local variables to avoid tabs
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20711 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5/asn.1/asn1_get.c')
-rw-r--r-- | src/lib/krb5/asn.1/asn1_get.c | 115 |
1 files changed, 58 insertions, 57 deletions
diff --git a/src/lib/krb5/asn.1/asn1_get.c b/src/lib/krb5/asn.1/asn1_get.c index 66fd1b6..d3706fb 100644 --- a/src/lib/krb5/asn.1/asn1_get.c +++ b/src/lib/krb5/asn.1/asn1_get.c @@ -1,6 +1,7 @@ +/* -*- mode: c; indent-tabs-mode: nil -*- */ /* * src/lib/krb5/asn.1/asn1_get.c - * + * * Copyright 1994 by the Massachusetts Institute of Technology. * All Rights Reserved. * @@ -8,7 +9,7 @@ * require a specific license from the United States Government. * It is the responsibility of any person or organization contemplating * export to obtain such a license before exporting. - * + * * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and * distribute this software and its documentation for any purpose and * without fee is hereby granted, provided that the above copyright @@ -32,70 +33,70 @@ asn1_get_tag_2(asn1buf *buf, taginfo *t) asn1_error_code retval; if (buf == NULL || buf->base == NULL || - buf->bound - buf->next + 1 <= 0) { - t->tagnum = ASN1_TAGNUM_CEILING; /* emphatically not an EOC tag */ - t->asn1class = UNIVERSAL; - t->construction = PRIMITIVE; - t->length = 0; - t->indef = 0; - return 0; + buf->bound - buf->next + 1 <= 0) { + t->tagnum = ASN1_TAGNUM_CEILING; /* emphatically not an EOC tag */ + t->asn1class = UNIVERSAL; + t->construction = PRIMITIVE; + t->length = 0; + t->indef = 0; + return 0; } { - /* asn1_get_id(buf, t) */ - asn1_tagnum tn=0; - asn1_octet o; + /* asn1_get_id(buf, t) */ + asn1_tagnum tn=0; + asn1_octet o; #define ASN1_CLASS_MASK 0xC0 #define ASN1_CONSTRUCTION_MASK 0x20 #define ASN1_TAG_NUMBER_MASK 0x1F - retval = asn1buf_remove_octet(buf,&o); - if (retval) - return retval; + retval = asn1buf_remove_octet(buf,&o); + if (retval) + return retval; - t->asn1class = (asn1_class)(o&ASN1_CLASS_MASK); - t->construction = (asn1_construction)(o&ASN1_CONSTRUCTION_MASK); - if ((o&ASN1_TAG_NUMBER_MASK) != ASN1_TAG_NUMBER_MASK) { - /* low-tag-number form */ - t->tagnum = (asn1_tagnum)(o&ASN1_TAG_NUMBER_MASK); - } else { - /* high-tag-number form */ - do { - retval = asn1buf_remove_octet(buf,&o); - if (retval) return retval; - tn = (tn<<7) + (asn1_tagnum)(o&0x7F); - } while (o&0x80); - t->tagnum = tn; - } + t->asn1class = (asn1_class)(o&ASN1_CLASS_MASK); + t->construction = (asn1_construction)(o&ASN1_CONSTRUCTION_MASK); + if ((o&ASN1_TAG_NUMBER_MASK) != ASN1_TAG_NUMBER_MASK) { + /* low-tag-number form */ + t->tagnum = (asn1_tagnum)(o&ASN1_TAG_NUMBER_MASK); + } else { + /* high-tag-number form */ + do { + retval = asn1buf_remove_octet(buf,&o); + if (retval) return retval; + tn = (tn<<7) + (asn1_tagnum)(o&0x7F); + } while (o&0x80); + t->tagnum = tn; + } } { - /* asn1_get_length(buf, t) */ - asn1_octet o; + /* asn1_get_length(buf, t) */ + asn1_octet o; + + t->indef = 0; + retval = asn1buf_remove_octet(buf,&o); + if (retval) return retval; + if ((o&0x80) == 0) { + t->length = (int)(o&0x7F); + } else { + int num; + int len=0; - t->indef = 0; - retval = asn1buf_remove_octet(buf,&o); - if (retval) return retval; - if ((o&0x80) == 0) { - t->length = (int)(o&0x7F); - } else { - int num; - int len=0; - - for (num = (int)(o&0x7F); num>0; num--) { - retval = asn1buf_remove_octet(buf,&o); - if (retval) return retval; - len = (len<<8) + (int)o; - } - if (len < 0) - return ASN1_OVERRUN; - if (!len) - t->indef = 1; - t->length = len; - } + for (num = (int)(o&0x7F); num>0; num--) { + retval = asn1buf_remove_octet(buf,&o); + if (retval) return retval; + len = (len<<8) + (int)o; + } + if (len < 0) + return ASN1_OVERRUN; + if (!len) + t->indef = 1; + t->length = len; + } } if (t->indef && t->construction != CONSTRUCTED) - return ASN1_MISMATCH_INDEF; + return ASN1_MISMATCH_INDEF; return 0; } @@ -106,13 +107,13 @@ asn1_error_code asn1_get_sequence(asn1buf *buf, unsigned int *retlen, int *indef retval = asn1_get_tag_2(buf, &t); if (retval) - return retval; + return retval; if (t.asn1class != UNIVERSAL || t.construction != CONSTRUCTED || - t.tagnum != ASN1_SEQUENCE) - return ASN1_BAD_ID; + t.tagnum != ASN1_SEQUENCE) + return ASN1_BAD_ID; if (retlen) - *retlen = t.length; + *retlen = t.length; if (indef) - *indef = t.indef; + *indef = t.indef; return 0; } |