Changes by: flatcap
Update of /cvsroot/linux-ntfs/linux-ntfs/ntfstools
In directory usw-pr-cvs1:/tmp/cvs-serv2096/ntfstools
Modified Files:
mkntfs.c ntfsdump_logfile.c ntfsfix.c ntfsinfo.c ntfslabel.c
ntfsresize.c
Log Message:
added AT_NONAME so we can search for a (un)named attribute or just
iterate through all attributes
Index: mkntfs.c
===================================================================
RCS file: /cvsroot/linux-ntfs/linux-ntfs/ntfstools/mkntfs.c,v
retrieving revision 1.77
retrieving revision 1.78
diff -U2 -r1.77 -r1.78
--- mkntfs.c 6 Jul 2002 20:07:59 -0000 1.77
+++ mkntfs.c 8 Jul 2002 23:27:16 -0000 1.78
@@ -107,4 +107,5 @@
#include "bitmap.h"
#include "mst.h"
+#include "dir.h"
extern const unsigned char attrdef_ntfs12_array[2400];
@@ -131,5 +132,4 @@
run_list *rl_logfile = NULL, *rl_boot = NULL, *rl_bad = NULL, *rl_index;
INDEX_ALLOCATION *index_block = NULL;
-uchar_t *ustr = NULL;
ntfs_volume *vol;
@@ -1543,5 +1543,5 @@
return -ENOMEM;
}
- if (ntfs_lookup_attr(AT_STANDARD_INFORMATION, NULL, 0, 0, 0, NULL, 0,
+ if (ntfs_lookup_attr(AT_STANDARD_INFORMATION, AT_NONAME, 0, 0, 0, NULL, 0,
ctx)) {
int eo = errno;
@@ -2441,6 +2441,4 @@
if (rl_index)
free(rl_index);
- if (ustr)
- free(ustr);
if (opt.bad_blocks)
free(opt.bad_blocks);
@@ -3097,5 +3095,5 @@
"context: %s\n", strerror(errno));
/* There is exactly one file name so this is ok. */
- if (ntfs_lookup_attr(AT_FILE_NAME, NULL, 0, 0, 0, NULL, 0,
+ if (ntfs_lookup_attr(AT_FILE_NAME, AT_NONAME, 0, 0, 0, NULL, 0,
ctx)) {
ntfs_put_attr_search_ctx(ctx);
@@ -3438,8 +3436,4 @@
m = (MFT_RECORD*)(buf + 5 * vol->mft_record_size);
i = 5 * sizeof(uchar_t);
- ustr = (uchar_t*)calloc(1, i);
- if (!ustr)
- err_exit("Not enough memory to allocate internal buffer.\n");;
- j = stoucs(ustr, "$I30", i);
ctx = ntfs_get_attr_search_ctx(NULL, m);
if (!ctx)
@@ -3447,5 +3441,5 @@
strerror(errno));
// FIXME: This should be IGNORE_CASE!
- if (ntfs_lookup_attr(AT_INDEX_ALLOCATION, ustr, j, 0, 0,
+ if (ntfs_lookup_attr(AT_INDEX_ALLOCATION, I30, 4, 0, 0,
NULL, 0, ctx)) {
ntfs_put_attr_search_ctx(ctx);
@@ -3481,5 +3475,5 @@
err_exit("Failed to allocate attribute search context: %s\n",
strerror(errno));
- if (ntfs_lookup_attr(AT_DATA, NULL, 0, 0, 0, NULL, 0, ctx)) {
+ if (ntfs_lookup_attr(AT_DATA, AT_NONAME, 0, 0, 0, NULL, 0, ctx)) {
ntfs_put_attr_search_ctx(ctx);
err_exit("BUG: $DATA attribute not found.\n");
Index: ntfsdump_logfile.c
===================================================================
RCS file: /cvsroot/linux-ntfs/linux-ntfs/ntfstools/ntfsdump_logfile.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -U2 -r1.25 -r1.26
--- ntfsdump_logfile.c 7 Jul 2002 19:44:57 -0000 1.25
+++ ntfsdump_logfile.c 8 Jul 2002 23:27:17 -0000 1.26
@@ -136,5 +136,5 @@
}
/* Find the $DATA attribute of the $LogFile. */
- if (ntfs_lookup_attr(AT_DATA, NULL, 0, 0, 0, NULL, 0, ctx)) {
+ if (ntfs_lookup_attr(AT_DATA, AT_NONAME, 0, 0, 0, NULL, 0, ctx)) {
fprintf(stderr, "Error: Attribute $DATA was not found in" \
"$LogFile!\n");
Index: ntfsfix.c
===================================================================
RCS file: /cvsroot/linux-ntfs/linux-ntfs/ntfstools/ntfsfix.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -U2 -r1.36 -r1.37
--- ntfsfix.c 7 Jul 2002 19:44:57 -0000 1.36
+++ ntfsfix.c 8 Jul 2002 23:27:17 -0000 1.37
@@ -336,5 +336,5 @@
goto log_file_error;
}
- if (ntfs_lookup_attr(AT_DATA, NULL, 0, 0, 0, NULL, 0, ctx)) {
+ if (ntfs_lookup_attr(AT_DATA, AT_NONAME, 0, 0, 0, NULL, 0, ctx)) {
puts(FAILED);
fprintf(stderr, "Error: Attribute $DATA was not found in" \
Index: ntfsinfo.c
===================================================================
RCS file: /cvsroot/linux-ntfs/linux-ntfs/ntfstools/ntfsinfo.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -U2 -r1.11 -r1.12
--- ntfsinfo.c 8 Jul 2002 00:09:41 -0000 1.11
+++ ntfsinfo.c 8 Jul 2002 23:27:17 -0000 1.12
@@ -126,5 +126,5 @@
if (ntfs_lookup_attr
- (AT_STANDARD_INFORMATION, NULL, 0, 0, 0, NULL, 0, ctx)) {
+ (AT_STANDARD_INFORMATION, AT_NONAME, 0, 0, 0, NULL, 0, ctx)) {
perror("Error looking up $STANDARD_INFORMATION!\n");
exit(1);
@@ -166,5 +166,5 @@
char *file_name;
- if (ntfs_lookup_attr(AT_FILE_NAME, NULL, 0, 0, 0, NULL, 0, ctx)) {
+ if (ntfs_lookup_attr(AT_FILE_NAME, AT_NONAME, 0, 0, 0, NULL, 0, ctx)) {
perror("Error looking up $FILE_NAME_ATTR!\n");
exit(1);
Index: ntfslabel.c
===================================================================
RCS file: /cvsroot/linux-ntfs/linux-ntfs/ntfstools/ntfslabel.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -U2 -r1.15 -r1.16
--- ntfslabel.c 7 Jul 2002 19:44:57 -0000 1.15
+++ ntfslabel.c 8 Jul 2002 23:27:17 -0000 1.16
@@ -162,5 +162,5 @@
goto err_out;
}
- if (ntfs_lookup_attr(AT_VOLUME_NAME, NULL, 0, 0, 0, NULL, 0, ctx)) {
+ if (ntfs_lookup_attr(AT_VOLUME_NAME, AT_NONAME, 0, 0, 0, NULL, 0, ctx)) {
perror("Lookup of $VOLUME_NAME attribute failed");
goto err_out;
Index: ntfsresize.c
===================================================================
RCS file: /cvsroot/linux-ntfs/linux-ntfs/ntfstools/ntfsresize.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -U2 -r1.1 -r1.2
--- ntfsresize.c 8 Jul 2002 15:59:35 -0000 1.1
+++ ntfsresize.c 8 Jul 2002 23:27:17 -0000 1.2
@@ -198,5 +198,5 @@
perr_exit("ntfs_get_attr_search_ctx");
- if (ntfs_lookup_attr(AT_DATA, NULL, 0, 0, 0, NULL, 0, ctx))
+ if (ntfs_lookup_attr(AT_DATA, AT_NONAME, 0, 0, 0, NULL, 0, ctx))
perr_exit("ntfs_lookup_attr");
@@ -426,5 +426,5 @@
ntfs_inode *ni;
- uchar_t *ustr = NULL;
+ uchar_t *ustr = AT_NONAME;
int len = 0;
@@ -441,5 +441,6 @@
perr_exit("ntfs_lookup_attr");
- free(ustr);
+ if (ustr != AT_NONAME)
+ free(ustr);
}
|