/* ASN.1 routines, implementation for libdvben50221 an implementation for the High Level Common Interface Copyright (C) 2004, 2005 Manu Abraham Copyright (C) 2006 Andrew de Quincey (adq_dvb@lidskialf.net) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include #include "asn_1.h" int asn_1_decode(uint16_t * length, uint8_t * asn_1_array, uint32_t asn_1_array_len) { uint8_t length_field; if (asn_1_array_len < 1) return -1; length_field = asn_1_array[0]; if (length_field < 0x80) { // there is only one word *length = length_field & 0x7f; return 1; } else if (length_field == 0x81) { if (asn_1_array_len < 2) return -1; *length = asn_1_array[1]; return 2; } else if (length_field == 0x82) { if (asn_1_array_len < 3) return -1; *length = (asn_1_array[1] << 8) | asn_1_array[2]; return 3; } return -1; } int asn_1_encode(uint16_t length, uint8_t * asn_1_array, uint32_t asn_1_array_len) { if (length < 0x80) { if (asn_1_array_len < 1) return -1; asn_1_array[0] = length & 0x7f; return 1; } else if (length < 0x100) { if (asn_1_array_len < 2) return -1; asn_1_array[0] = 0x81; asn_1_array[1] = length; return 2; } else { if (asn_1_array_len < 3) return -1; asn_1_array[0] = 0x82; asn_1_array[1] = length >> 8; asn_1_array[2] = length; return 3; } // never reached } hidden' name='showmsg' value='1'/>
AgeCommit message (Collapse)AuthorFilesLines
2018-04-08d/copyright: Change all urls to httpsJonathan McCrohan2-2/+3
2018-04-08d/{control,compat}: Bump debhelper version to 11Jonathan McCrohan3-2/+3
2018-04-08Add debian/watch file using new git modeJonathan McCrohan3-2/+6
2018-04-08d/control: update Standards Version to 4.1.4Jonathan McCrohan2-2/+4
2018-04-08d/changelog: remove whitespaceJonathan McCrohan1-5/+11
2018-04-07New upstream version 0+git20171226.07b18ecupstream/0+git20171226.07b18ecupstreamJonathan McCrohan1167-3460/+81016
2017-06-20Release 0+git20170425.fb5fe05-1debian/0+git20170425.fb5fe05-1Jonathan McCrohan2-3/+12
2017-06-19New upstream version 0+git20170425.fb5fe05upstream/0+git20170425.fb5fe05Jonathan McCrohan16-102/+786
2017-01-05Release 0+git20161227.ac7535a-1debian/0+git20161227.ac7535a-1Jonathan McCrohan1-0/+6
2017-01-05New upstream version 0+git20161227.ac7535aupstream/0+git20161227.ac7535aJonathan McCrohan39-1522/+4879
2016-06-11Release 0+git20160503.4f192bd-1debian/0+git20160503.4f192bd-1Jonathan McCrohan1-2/+2
2016-06-11d/control: update insecure Vcs-Git URLJonathan McCrohan2-1/+2
2016-06-11d/control: update Standards Version to 3.9.8Jonathan McCrohan2-1/+9
2016-06-11Imported Upstream version 0+git20160503.4f192bdupstream/0+git20160503.4f192bdJonathan McCrohan1307-2667/+38002
2016-01-18Release 0+git20151202.3864e0a-1debian/0+git20151202.3864e0a-1Jonathan McCrohan1-2/+3
2016-01-18Imported Upstream version 0+git20151202.3864e0aJonathan McCrohan840-4057/+18230
2016-01-18Update get-vcs-snapshot.sh to reflect gbp changesJonathan McCrohan2-1/+2
2016-01-18Imported Upstream version 0+git20151202.3864e0aupstream/0+git20151202.3864e0aJonathan McCrohan840-4057/+18230
2015-05-05d/control: various fixes found by libconfig-model-dpkg-perlJonathan McCrohan2-5/+13
2015-04-01Release 0+git20150208.f2053b3-1Jonathan McCrohan1-2/+2
2015-04-01Describe changes made in snapshotJonathan McCrohan1-0/+3
2015-04-01New Upstream Snapshot (commit f2053b3)Jonathan McCrohan1-0/+6
2015-04-01Imported Upstream version 0+git20150208.f2053b3upstream/0+git20150208.f2053b3Jonathan McCrohan32-333/+483
2014-12-28Release 0+git20141218.b46a22c-1debian/0+git20141218.b46a22c-1Jonathan McCrohan1-2/+2
2014-12-28Updated AU DVB-T files; Thanks Brian Burch! (Closes LP: #1393280)Jonathan McCrohan1-0/+1
2014-12-28New Upstream Snapshot (commit b46a22c)Jonathan McCrohan1-0/+6
2014-12-28Imported Upstream version 0+git20141218.b46a22cupstream/0+git20141218.b46a22cJonathan McCrohan535-639/+317
2014-10-20Release 0+git20141009.d26b627-1debian/0+git20141009.d26b627-1Jonathan McCrohan1-2/+2
2014-10-20Fix up packaging to account for move to DVBv5Jonathan McCrohan2-2/+6
2014-10-20delete d/dtv-scan-files.install; Upstream now supplies a MakefileJonathan McCrohan2-4/+1
2014-10-15d/control: update Standards Version to 3.9.6Jonathan McCrohan2-1/+3
2014-10-15d/control: add Build-Depends on dvb-toolsJonathan McCrohan2-1/+2
2014-10-15New Upstream Snapshot (commit d26b627)Jonathan McCrohan1-0/+10
2014-10-15Imported Upstream version 0+git20141009.d26b627upstream/0+git20141009.d26b627Jonathan McCrohan2010-11120/+159271
2014-07-23Release 0+git20140611.14bd6c7-1debian/0+git20140611.14bd6c7-1Jonathan McCrohan1-2/+2
2014-07-23New Upstream Snapshot (commit 14bd6c7)Jonathan McCrohan1-2/+3
2014-07-23Imported Upstream version 0+git20140611.14bd6c7upstream/0+git20140611.14bd6c7Jonathan McCrohan7-11/+60
2014-05-13New Upstream Snapshot (commit 1246b27)Jonathan McCrohan1-0/+6
2014-05-13Imported Upstream version 0+git20140512.1246b27upstream/0+git20140512.1246b27Jonathan McCrohan391-301/+3983
2014-04-05Release 0+git20140326.cfc2975-1debian/0+git20140326.cfc2975-1Jonathan McCrohan1-2/+2
2014-04-05d/control: update Homepage (upstream has moved from Gitweb to cgit)Jonathan McCrohan2-1/+2
2014-04-05New Upstream Snapshot (commit cfc2975)Jonathan McCrohan1-0/+6
2014-04-05Imported Upstream version 0+git20140326.cfc2975upstream/0+git20140326.cfc2975Jonathan McCrohan118-656/+877
2014-01-16Release 0+git20140107.1850cf8-1debian/0+git20140107.1850cf8-1Jonathan McCrohan1-2/+2
2014-01-16Update Standards Version to 3.9.5Jonathan McCrohan2-1/+9
No changes required