+Locale catalogs rewriting if --enable-bundle.
[udpgate.git] / src / bundle-util.c
index 83057b2..59d1e06 100644 (file)
 
 #include "bundle-util.h"       /* self */
 #include "bundle.h"
+#include "main.h"
 
 
-static const guint8 *bundle_util_file_retrieve(guint32 *data_length_return,const gchar *pathname,const gchar *basename)
+static G_CONST_RETURN guint8 *bundle_util_file_retrieve(guint32 *data_length_return,const gchar *basename)
 {
 const guint8 *data;
 
        g_return_val_if_fail(data_length_return!=NULL,NULL);
-       g_return_val_if_fail(pathname!=NULL,NULL);
        g_return_val_if_fail(basename!=NULL,NULL);
 
+       if (optarg_verbose)
+               g_message(_("Retrieving internally stored: %s"),basename);
        data=g_hash_table_lookup(bundle_hash_new(),basename);
        g_return_val_if_fail(data!=NULL,NULL);
        *data_length_return=GUINT32_FROM_BE(*(guint32 *)data);
@@ -66,7 +68,7 @@ time_t time_current;
        g_return_val_if_fail(pathname!=NULL,FALSE);
        g_return_val_if_fail(basename!=NULL,FALSE);
 
-       if (!(data=bundle_util_file_retrieve(&data_length,pathname,basename)))
+       if (!(data=bundle_util_file_retrieve(&data_length,basename)))
                return FALSE;
 
        if (-1==(fd=open(pathname,O_RDONLY))) {
@@ -120,7 +122,7 @@ gboolean bundle_util_file_remove(const gchar *pathname,const gchar *basename)
        return TRUE;
 }
 
-gboolean bundle_util_file_write(const gchar *pathname,const gchar *basename,mode_t pathname_mode)
+gboolean bundle_util_file_write(const gchar *pathname,const gchar *basename,mode_t pathname_mode,gboolean pathname_backup)
 {
 const guint8 *data;
 guint32 data_length;
@@ -129,10 +131,10 @@ int fd;
        g_return_val_if_fail(pathname!=NULL,FALSE);
        g_return_val_if_fail(basename!=NULL,FALSE);
 
-       if (!(data=bundle_util_file_retrieve(&data_length,pathname,basename)))
+       if (!(data=bundle_util_file_retrieve(&data_length,basename)))
                return FALSE;
 
-       if (!bundle_util_file_backup_conditional(pathname,basename))
+       if (pathname_backup && !bundle_util_file_backup_conditional(pathname,basename))
                return FALSE;
 
        if (-1==(fd=open(pathname,O_WRONLY|O_CREAT|O_TRUNC,pathname_mode))) {