pkgsrc/devel/idutils/patches/patch-ak
wiz 8a43e059b6 Update to 4.2:
Version 4.2 - August 5, 2006, by Claudio Fontana

* Bugfix release
2006-08-06 23:10:30 +00:00

57 lines
1.5 KiB
Text

$NetBSD: patch-ak,v 1.3 2006/08/06 23:10:30 wiz Exp $
--- src/mkid.c.orig 2006-07-22 03:38:03.000000000 +0000
+++ src/mkid.c
@@ -28,7 +28,6 @@
#include <pathmax.h>
#include <string.h>
#include <dirname.h>
-#include <alloca.h>
#include <limits.h>
#include <inttostr.h>
#include <xalloc.h>
@@ -40,8 +39,6 @@
#include "scanners.h"
#include "iduglobal.h"
-char* dirname(char* path);
-
struct summary
{
struct token **sum_tokens;
@@ -381,11 +378,21 @@ assert_writeable (char const *filename)
{
if (errno == ENOENT)
{
- char *dirname = dir_name (filename);
- if (access (dirname, 06) < 0)
- error (1, errno, _("can't create `%s' in `%s'"),
- base_name (filename), dirname);
- free(dirname);
+ char *dir_copy, *dir_name = strrchr (filename, '/');
+ if (dir_name)
+ {
+ while (*--dir_name == '/')
+ continue;
+ dir_name++;
+ dir_copy = strdup(filename);
+ dir_copy[dir_name - filename] = '\0';
+ }
+ else
+ dir_copy = strdup(".");
+ if (access (dir_copy, 06) < 0)
+ error (1, errno, _("can't create `%s' in `%s'"),
+ base_name (filename), dir_copy);
+ free(dir_copy);
}
else
error (1, errno, _("can't modify `%s'"), filename);
@@ -459,7 +466,7 @@ scan_member_file (struct member_file con
source_FILE = fopen (flink->fl_name, "r");
if (source_FILE)
{
- char *file_name = alloca (PATH_MAX);
+ char file_name[PATH_MAX];
if (statistics_flag)
{
if (fstat (fileno (source_FILE), &st) < 0)