Branch data Line data Source code
1 : : /* Functions to handle creation of Linux archives. 2 : : Copyright (C) 2007 Red Hat, Inc. 3 : : This file is part of elfutils. 4 : : Written by Ulrich Drepper <drepper@redhat.com>, 2007. 5 : : 6 : : This file is free software; you can redistribute it and/or modify 7 : : it under the terms of the GNU General Public License as published by 8 : : the Free Software Foundation; either version 3 of the License, or 9 : : (at your option) any later version. 10 : : 11 : : elfutils is distributed in the hope that it will be useful, but 12 : : WITHOUT ANY WARRANTY; without even the implied warranty of 13 : : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 : : GNU General Public License for more details. 15 : : 16 : : You should have received a copy of the GNU General Public License 17 : : along with this program. If not, see <http://www.gnu.org/licenses/>. */ 18 : : 19 : : #ifdef HAVE_CONFIG_H 20 : : # include <config.h> 21 : : #endif 22 : : 23 : : #include <limits.h> 24 : : #include <string.h> 25 : : 26 : : #include "arlib.h" 27 : : 28 : : 29 : : /* Add long file name FILENAME of length FILENAMELEN to the symbol table 30 : : SYMTAB. Return the offset into the long file name table. */ 31 : : long int 32 : 0 : arlib_add_long_name (const char *filename, size_t filenamelen) 33 : : { 34 : 0 : size_t size = obstack_object_size (&symtab.longnamesob); 35 : : 36 [ # # # # ]: 0 : obstack_grow (&symtab.longnamesob, filename, filenamelen); 37 [ # # ]: 0 : obstack_grow (&symtab.longnamesob, "/\n", 2); 38 : : 39 : 0 : return size - sizeof (struct ar_hdr); 40 : : }