You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA. */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA. */
#include <config.h>
#include <ctype.h>
#include <stdlib.h>
#include "alloc.h"
#include "command.h"
+#include "dictionary.h"
#include "error.h"
+#include "glob.h"
#include "lexer.h"
#include "main.h"
#include "output.h"
#include "version.h"
#include "vfm.h"
+#include "gettext.h"
+#define _(msgid) gettext (msgid)
+
#include "debug-print.h"
static int get_title (const char *cmd, char **title);
return CMD_FAILURE;
if (*title)
free (*title);
- *title = xstrdup (ds_value (&tokstr));
+ *title = xstrdup (ds_c_str (&tokstr));
lex_get ();
if (token != '.')
{
if (*title)
free (*title);
*title = xstrdup (lex_rest_of_line (NULL));
+ lex_discard_line ();
for (cp = *title; *cp; cp++)
*cp = toupper ((unsigned char) (*cp));
token = '.';
int
cmd_file_label (void)
{
- char *label;
+ const char *label;
label = lex_rest_of_line (NULL);
+ lex_discard_line ();
while (isspace ((unsigned char) *label))
label++;
memcpy (new_documents, old_documents, old_len);
memset (new_documents + old_len, ' ', indent);
- st_bare_pad_copy (new_documents + old_len + indent, line, 80 - indent);
+ buf_copy_str_rpad (new_documents + old_len + indent, 80 - indent, line);
new_documents[old_len + 80] = '\0';
dict_set_documents (default_dict, new_documents);
/* Add a few header lines for reference. */
{
char buf[256];
- struct tm *tmp = localtime (&last_vfm_invocation);
if (dict_get_documents (default_dict) != NULL)
add_document_line ("", 0);
- sprintf (buf, _("Document entered %s %02d:%02d:%02d by %s (%s):"),
- curdate, tmp->tm_hour, tmp->tm_min, tmp->tm_sec, version,
- host_system);
+ sprintf (buf, _("Document entered %s by %s:"), get_start_date (), version);
add_document_line (buf, 1);
}
for (;;)
{
int had_dot;
- char *line;
+ const char *orig_line;
+ char *copy_line;
- line = lex_rest_of_line (&had_dot);
- while (isspace ((unsigned char) *line))
- line++;
+ orig_line = lex_rest_of_line (&had_dot);
+ lex_discard_line ();
+ while (isspace ((unsigned char) *orig_line))
+ orig_line++;
+ copy_line = xmalloc (strlen (orig_line) + 2);
+ strcpy (copy_line, orig_line);
if (had_dot)
- {
- char *cp = strchr (line, 0);
- *cp++ = '.';
- *cp = 0;
- }
+ strcat (copy_line, ".");
- add_document_line (line, 3);
+ add_document_line (copy_line, 3);
+ free (copy_line);
lex_get_line ();
if (had_dot)