[Commits] [SCM] claws branch, master, updated. 3.13.2-12-ge7374d3

ticho at claws-mail.org ticho at claws-mail.org
Wed Feb 3 11:50:58 CET 2016


The branch, master has been updated
       via  e7374d38e51fa38b5c2f06669be8c3f967c39ba1 (commit)
      from  e7308b6264bf5d3d27c3f8270356b001ab4731c4 (commit)

Summary of changes:
 doc/src/maintainer_guide.txt |    2 -
 src/Makefile.am              |    1 -
 src/simple-gettext.c         |  369 ------------------------------------------
 3 files changed, 372 deletions(-)
 delete mode 100644 src/simple-gettext.c


- Log -----------------------------------------------------------------
commit e7374d38e51fa38b5c2f06669be8c3f967c39ba1
Author: Andrej Kacian <ticho at claws-mail.org>
Date:   Wed Feb 3 11:50:43 2016 +0100

    Removed simple-gettext.c, as it is not being used at all.

diff --git a/doc/src/maintainer_guide.txt b/doc/src/maintainer_guide.txt
index 0e2db96..605c2a4 100644
--- a/doc/src/maintainer_guide.txt
+++ b/doc/src/maintainer_guide.txt
@@ -219,8 +219,6 @@ setup.c
    functions for first run (select mailbox dialog) 
 sigstatus.c
    dialog for gpg signature check
-simple-gettext.c
-   a simplified version of gettext
 sourcewindow.c
    displays the source of the messages.
 ssl_manager.c
diff --git a/src/Makefile.am b/src/Makefile.am
index 1c6a41b..a3b2113 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -219,7 +219,6 @@ claws_mail_SOURCES = \
 	remotefolder.c \
 	send_message.c \
 	setup.c \
-	simple-gettext.c \
 	sourcewindow.c \
 	ssl_manager.c \
 	statusbar.c \
diff --git a/src/simple-gettext.c b/src/simple-gettext.c
deleted file mode 100644
index 6b445f6..0000000
--- a/src/simple-gettext.c
+++ /dev/null
@@ -1,369 +0,0 @@
-/* simple-gettext.c  - a simplified version of gettext.
- * Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
- *
- * This file is part of GnuPG.
- *
- * GnuPG is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * GnuPG 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/* This is a simplified version of gettext written by Ulrich Drepper.
- * It is used for the Win32 version of GnuPG becuase all the overhead
- * of gettext is not needed and we have to do some special Win32 stuff.
- * I decided that this is far easier than to tweak gettext for the special
- * cases (I tried it but it is a lot of code).	wk 15.09.99
- */
-
-#include <config.h>
-#ifdef USE_SIMPLE_GETTEXT
-#ifndef __MINGW32__
-  #error This file can only be used with MinGW32
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <windows.h>
-#include "w32reg.h"
-
-typedef unsigned int u32; /* That is fine with MingW32 */
-
-typedef unsigned long ulong;
-
-/* The magic number of the GNU message catalog format.	*/
-#define MAGIC	      0x950412de
-#define MAGIC_SWAPPED 0xde120495
-
-/* Revision number of the currently used .mo (binary) file format.  */
-#define MO_REVISION_NUMBER 0
-
-
-/* Header for binary .mo file format.  */
-struct mo_file_header
-{
-  /* The magic number.	*/
-  u32 magic;
-  /* The revision number of the file format.  */
-  u32 revision;
-  /* The number of strings pairs.  */
-  u32 nstrings;
-  /* Offset of table with start offsets of original strings.  */
-  u32 orig_tab_offset;
-  /* Offset of table with start offsets of translation strings.  */
-  u32 trans_tab_offset;
-  /* Size of hashing table.  */
-  u32 hash_tab_size;
-  /* Offset of first hashing entry.  */
-  u32 hash_tab_offset;
-};
-
-struct string_desc
-{
-  /* Length of addressed string.  */
-  u32 length;
-  /* Offset of string in file.	*/
-  u32 offset;
-};
-
-
-
-struct loaded_domain
-{
-  char *data;
-  int must_swap;
-  u32 nstrings;
-  char *mapped;
-  struct string_desc *orig_tab;
-  struct string_desc *trans_tab;
-  u32 hash_size;
-  u32 *hash_tab;
-};
-
-
-static struct loaded_domain *the_domain;
-
-static __inline__ u32
-do_swap_u32( u32 i )
-{
-  return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24);
-}
-
-#define SWAPIT(flag, data) ((flag) ? do_swap_u32(data) : (data) )
-
-
-/* We assume to have `unsigned long int' value with at least 32 bits.  */
-#define HASHWORDBITS 32
-
-/* The so called `hashpjw' function by P.J. Weinberger
-   [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools,
-   1986, 1987 Bell Telephone Laboratories, Inc.]  */
-
-static __inline__ ulong
-hash_string( const char *str_param )
-{
-    unsigned long int hval, g;
-    const char *str = str_param;
-
-    hval = 0;
-    while (*str != '\0')
-    {
-	hval <<= 4;
-	hval += (unsigned long int) *str++;
-	g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4));
-	if (g != 0)
-	{
-	  hval ^= g >> (HASHWORDBITS - 8);
-	  hval ^= g;
-	}
-    }
-    return hval;
-}
-
-
-static struct loaded_domain *
-load_domain( const char *filename )
-{
-    FILE *fp;
-    size_t size;
-    struct stat st;
-    struct mo_file_header *data = NULL;
-    struct loaded_domain *domain = NULL;
-    size_t to_read;
-    char *read_ptr;
-
-    fp = g_fopen( filename, "rb" );
-    if( !fp )
-       return NULL; /* can't open the file */
-    /* we must know about the size of the file */
-    if( fstat( fileno(fp ), &st )
-	|| (size = (size_t)st.st_size) != st.st_size
-	|| size < sizeof (struct mo_file_header) ) {
-	fclose( fp );
-	return NULL;
-    }
-
-    data = malloc( size );
-    if( !data ) {
-	fclose( fp );
-	return NULL; /* out of memory */
-    }
-
-    to_read = size;
-    read_ptr = (char *) data;
-    do {
-	long int nb = fread( read_ptr, 1, to_read, fp );
-	if( nb < to_read ) {
-	    fclose (fp);
-	    free(data);
-	    return NULL; /* read error */
-	}
-	read_ptr += nb;
-	to_read -= nb;
-    } while( to_read > 0 );
-    fclose (fp);
-
-    /* Using the magic number we can test whether it really is a message
-     * catalog file.  */
-    if( data->magic != MAGIC && data->magic != MAGIC_SWAPPED ) {
-	/* The magic number is wrong: not a message catalog file.  */
-	free( data );
-	return NULL;
-    }
-
-    domain = calloc( 1, sizeof *domain );
-    if( !domain )  {
-	free( data );
-	return NULL;
-    }
-    domain->data = (char *) data;
-    domain->must_swap = data->magic != MAGIC;
-
-    /* Fill in the information about the available tables.  */
-    switch( SWAPIT(domain->must_swap, data->revision) ) {
-      case 0:
-	domain->nstrings = SWAPIT(domain->must_swap, data->nstrings);
-	domain->orig_tab = (struct string_desc *)
-	  ((char *) data + SWAPIT(domain->must_swap, data->orig_tab_offset));
-	domain->trans_tab = (struct string_desc *)
-	  ((char *) data + SWAPIT(domain->must_swap, data->trans_tab_offset));
-	domain->hash_size = SWAPIT(domain->must_swap, data->hash_tab_size);
-	domain->hash_tab = (u32 *)
-	  ((char *) data + SWAPIT(domain->must_swap, data->hash_tab_offset));
-      break;
-
-      default: /* This is an invalid revision.	*/
-	free( data );
-	free( domain );
-	return NULL;
-    }
-
-    /* allocate an array to keep track of code page mappings */
-    domain->mapped = calloc( 1, domain->nstrings );
-    if( !domain->mapped ) {
-	free( data );
-	free( domain );
-	return NULL;
-    }
-
-    return domain;
-}
-
-
-/****************
- * Set the file used for translations.	Pass a NULL to disable
- * translation.  A new filename may be set at anytime.
- * WARNING: After changing the filename you shoudl not access any data
- *	    retrieved by gettext().
- */
-int
-set_gettext_file( const char *filename )
-{
-    struct loaded_domain *domain = NULL;
-
-    if( filename && *filename ) {
-	if( filename[0] == '/'
-	   #ifdef HAVE_DRIVE_LETTERS
-	    || ( isalpha(filename[0])
-		 && filename[1] == ':'
-		 && (filename[2] == '/' || filename[2] == '\\') )
-	   #endif
-	   ) {
-	    /* absolute path - use it as is */
-	    domain = load_domain( filename );
-	}
-	else { /* relative path - append ".mo" and get dir from the environment */
-	    char *buf = NULL;
-	    char *dir;
-
-	    dir = read_w32_registry_string( NULL,
-					    "Control Panel\\Mingw32\\NLS",
-					    "MODir" );
-	    if( dir && (buf=malloc(strlen(dir)+strlen(filename)+1+3+1)) ) {
-		strcpy(stpcpy(stpcpy(stpcpy( buf, dir),"\\"), filename),".mo");
-		domain = load_domain( buf );
-		free(buf);
-	    }
-	    free(dir);
-	}
-	if( !domain ) {
-	    return -1; }
-    }
-    if( the_domain ) {
-	free( the_domain->data );
-	free( the_domain->mapped );
-	free( the_domain );
-	the_domain = NULL;
-    }
-    the_domain = domain;
-    return NULL;
-}
-
-
-static const char*
-get_string( struct loaded_domain *domain, u32 idx )
-{
-    char *p = domain->data + SWAPIT(domain->must_swap,
-				    domain->trans_tab[idx].offset);
-
-	/* status of domain->mapped[idx] is ignored.
-	 * not sure about the consequences.
-	 * perhaps mapped can entirely be removed?
-	 */
-
-	/* we assume, strings are already correctly
-	 * encoded.
-	 */
-
-    return (const char*)p;
-}
-
-
-
-const char *
-gettext( const char *msgid )
-{
-    struct loaded_domain *domain;
-    size_t act = 0;
-    size_t top, bottom;
-
-    if( !(domain = the_domain) ) {
-	goto not_found;
-	}
-
-    /* Locate the MSGID and its translation.  */
-    if( domain->hash_size > 2 && domain->hash_tab ) {
-	/* Use the hashing table.  */
-	u32 len = strlen (msgid);
-	u32 hash_val = hash_string (msgid);
-	u32 idx = hash_val % domain->hash_size;
-	u32 incr = 1 + (hash_val % (domain->hash_size - 2));
-	u32 nstr = SWAPIT (domain->must_swap, domain->hash_tab[idx]);
-
-	if ( !nstr ) /* Hash table entry is empty.  */
-	    goto not_found;
-
-	if( SWAPIT(domain->must_swap,
-		    domain->orig_tab[nstr - 1].length) == len
-	    && !strcmp( msgid,
-		       domain->data + SWAPIT(domain->must_swap,
-				    domain->orig_tab[nstr - 1].offset)) )
-	    return get_string( domain, nstr - 1 );
-
-	for(;;) {
-	    if (idx >= domain->hash_size - incr)
-		idx -= domain->hash_size - incr;
-	    else
-		idx += incr;
-
-	    nstr = SWAPIT(domain->must_swap, domain->hash_tab[idx]);
-	    if( !nstr )
-		goto not_found; /* Hash table entry is empty.  */
-
-	    if ( SWAPIT(domain->must_swap,
-				domain->orig_tab[nstr - 1].length) == len
-		 && !strcmp (msgid,
-			 domain->data + SWAPIT(domain->must_swap,
-					   domain->orig_tab[nstr - 1].offset)))
-		return get_string( domain, nstr-1 );
-	}
-	/* NOTREACHED */
-    }
-
-    /* Now we try the default method:  binary search in the sorted
-       array of messages.  */
-    bottom = 0;
-    top = domain->nstrings;
-    while( bottom < top ) {
-	int cmp_val;
-
-	act = (bottom + top) / 2;
-	cmp_val = strcmp(msgid, domain->data
-			       + SWAPIT(domain->must_swap,
-					domain->orig_tab[act].offset));
-	if (cmp_val < 0)
-	    top = act;
-	else if (cmp_val > 0)
-	    bottom = act + 1;
-	else
-	    return get_string( domain, act );
-    }
-
-  not_found:
-    return msgid;
-}
-
-#endif /* USE_SIMPLE_GETTEXT */

-----------------------------------------------------------------------


hooks/post-receive
-- 
Claws Mail


More information about the Commits mailing list