]> Dogcows Code - chaz/tar/commitdiff
(buffer_write_global_xheader): New function
authorSergey Poznyakoff <gray@gnu.org.ua>
Sat, 19 May 2007 17:02:13 +0000 (17:02 +0000)
committerSergey Poznyakoff <gray@gnu.org.ua>
Sat, 19 May 2007 17:02:13 +0000 (17:02 +0000)
(struct xheader): Move definition to tar.h
(extended_header): Remove global
(xheader_init): New function
(xheader_decode_global,xheader_store,xheader_read)
(xheader_write_global,xheader_write,xheader_string_begin)
(xheader_string_add,xheader_string_end): Take xhdr as first
argument.

src/common.h

index 2ee8c2b00343a2df0c42c29faa22fc8121c98083..24aa91df4983247125405e60e2fce31ea4242d24 100644 (file)
@@ -416,6 +416,7 @@ void mv_end (void);
 void mv_total_size (off_t size);
 void mv_size_left (off_t size);
 
+void buffer_write_global_xheader (void);
 
 /* Module create.c.  */
 
@@ -512,14 +513,6 @@ enum read_header
   HEADER_FAILURE               /* ill-formed header, or bad checksum */
 };
 
-struct xheader
-{
-  struct obstack *stk;
-  size_t size;
-  char *buffer;
-};
-
-GLOBAL struct xheader extended_header;
 extern union block *current_header;
 extern enum archive_format current_format;
 extern size_t recent_long_name_blocks;
@@ -675,23 +668,22 @@ void update_archive (void);
 
 /* Module xheader.c.  */
 
+void xheader_init (struct xheader *xhdr);
 void xheader_decode (struct tar_stat_info *stat);
-void xheader_decode_global (void);
-void xheader_store (char const *keyword, struct tar_stat_info const *st,
+void xheader_decode_global (struct xheader *xhdr);
+void xheader_store (char const *keyword, struct tar_stat_info *st,
                    void const *data);
-void xheader_read (union block *header, size_t size);
+void xheader_read (struct xheader *xhdr, union block *header, size_t size);
 void xheader_write (char type, char *name, struct xheader *xhdr);
-void xheader_write_global (void);
+void xheader_write_global (struct xheader *xhdr);
 void xheader_finish (struct xheader *hdr);
 void xheader_destroy (struct xheader *hdr);
 char *xheader_xhdr_name (struct tar_stat_info *st);
 char *xheader_ghdr_name (void);
-void xheader_write (char type, char *name, struct xheader *xhdr);
-void xheader_write_global (void);
 void xheader_set_option (char *string);
-void xheader_string_begin (void);
-void xheader_string_add (char const *s);
-bool xheader_string_end (char const *keyword);
+void xheader_string_begin (struct xheader *xhdr);
+void xheader_string_add (struct xheader *xhdr, char const *s);
+bool xheader_string_end (struct xheader *xhdr, char const *keyword);
 bool xheader_keyword_deleted_p (const char *kw);
 char *xheader_format_name (struct tar_stat_info *st, const char *fmt,
                           size_t n);
This page took 0.023973 seconds and 4 git commands to generate.