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 <libintl.h> 24 : : #include <limits.h> 25 : : #include <string.h> 26 : : 27 : : #include "arlib.h" 28 : : 29 : : 30 : : /* Add long file name FILENAME of length FILENAMELEN to the symbol table 31 : : SYMTAB. Return the offset into the long file name table. */ 32 : : long int 33 : 0 : arlib_add_long_name (const char *filename, size_t filenamelen) 34 : : { 35 : 0 : size_t size = obstack_object_size (&symtab.longnamesob); 36 : : 37 [ # # # # ]: 0 : obstack_grow (&symtab.longnamesob, filename, filenamelen); 38 [ # # ]: 0 : obstack_grow (&symtab.longnamesob, "/\n", 2); 39 : : 40 : 0 : return size - sizeof (struct ar_hdr); 41 : : }