diff options
Diffstat (limited to 'pcp/intl/log.c')
| -rw-r--r-- | pcp/intl/log.c | 126 | 
1 files changed, 0 insertions, 126 deletions
| diff --git a/pcp/intl/log.c b/pcp/intl/log.c deleted file mode 100644 index e2090e1..0000000 --- a/pcp/intl/log.c +++ /dev/null @@ -1,126 +0,0 @@ -/* Log file output. -   Copyright (C) 2003, 2005, 2009 Free Software Foundation, Inc. - -   This program is free software: you can redistribute it and/or modify -   it under the terms of the GNU Lesser General Public License as published by -   the Free Software Foundation; either version 2.1 of the License, or -   (at your option) any later version. - -   This program 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 Lesser General Public License for more details. - -   You should have received a copy of the GNU Lesser General Public License -   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */ - -/* Written by Bruno Haible <bruno@clisp.org>.  */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -/* Handle multi-threaded applications.  */ -#ifdef _LIBC -# include <bits/libc-lock.h> -#else -# include "lock.h" -#endif - -/* Separator between msgctxt and msgid in .mo files.  */ -#define MSGCTXT_SEPARATOR '\004'  /* EOT */ - -/* Print an ASCII string with quotes and escape sequences where needed.  */ -static void -print_escaped (FILE *stream, const char *str, const char *str_end) -{ -  putc ('"', stream); -  for (; str != str_end; str++) -    if (*str == '\n') -      { -        fputs ("\\n\"", stream); -        if (str + 1 == str_end) -          return; -        fputs ("\n\"", stream); -      } -    else -      { -        if (*str == '"' || *str == '\\') -          putc ('\\', stream); -        putc (*str, stream); -      } -  putc ('"', stream); -} - -static char *last_logfilename = NULL; -static FILE *last_logfile = NULL; -__libc_lock_define_initialized (static, lock) - -static inline void -_nl_log_untranslated_locked (const char *logfilename, const char *domainname, -                             const char *msgid1, const char *msgid2, int plural) -{ -  FILE *logfile; -  const char *separator; - -  /* Can we reuse the last opened logfile?  */ -  if (last_logfilename == NULL || strcmp (logfilename, last_logfilename) != 0) -    { -      /* Close the last used logfile.  */ -      if (last_logfilename != NULL) -        { -          if (last_logfile != NULL) -            { -              fclose (last_logfile); -              last_logfile = NULL; -            } -          free (last_logfilename); -          last_logfilename = NULL; -        } -      /* Open the logfile.  */ -      last_logfilename = (char *) malloc (strlen (logfilename) + 1); -      if (last_logfilename == NULL) -        return; -      strcpy (last_logfilename, logfilename); -      last_logfile = fopen (logfilename, "a"); -      if (last_logfile == NULL) -        return; -    } -  logfile = last_logfile; - -  fprintf (logfile, "domain "); -  print_escaped (logfile, domainname, domainname + strlen (domainname)); -  separator = strchr (msgid1, MSGCTXT_SEPARATOR); -  if (separator != NULL) -    { -      /* The part before the MSGCTXT_SEPARATOR is the msgctxt.  */ -      fprintf (logfile, "\nmsgctxt "); -      print_escaped (logfile, msgid1, separator); -      msgid1 = separator + 1; -    } -  fprintf (logfile, "\nmsgid "); -  print_escaped (logfile, msgid1, msgid1 + strlen (msgid1)); -  if (plural) -    { -      fprintf (logfile, "\nmsgid_plural "); -      print_escaped (logfile, msgid2, msgid2 + strlen (msgid2)); -      fprintf (logfile, "\nmsgstr[0] \"\"\n"); -    } -  else -    fprintf (logfile, "\nmsgstr \"\"\n"); -  putc ('\n', logfile); -} - -/* Add to the log file an entry denoting a failed translation.  */ -void -_nl_log_untranslated (const char *logfilename, const char *domainname, -                      const char *msgid1, const char *msgid2, int plural) -{ -  __libc_lock_lock (lock); -  _nl_log_untranslated_locked (logfilename, domainname, msgid1, msgid2, plural); -  __libc_lock_unlock (lock); -} | 
