/* CPU address space offset calculation macro, struct part_info offset is
* device address space offset, so we need to shift it by a device start address. */
/* CPU address space offset calculation macro, struct part_info offset is
* device address space offset, so we need to shift it by a device start address. */
-#define PART_OFFSET(x) (x->offset + flash_info[x->dev->id->num].start[0])
+#define PART_OFFSET(x) ((ulong)x->offset + \
+ flash_info[x->dev->id->num].start[0])
+#else
+#define PART_OFFSET(x) ((ulong)x->offset)
+#endif
- if (!strncmp (filename, name, namelen)) {
+ if (!strncmp(filename, name, namelen) &&
+ (namelen == strlen(filename))) {
char *p = strtok (NULL, "/");
if (raw && (p == NULL || *p == '\0'))
char *p = strtok (NULL, "/");
if (raw && (p == NULL || *p == '\0'))