String the offline root path from the file_name in file_hash_get_file_owner().
authorgraham.gower <graham.gower@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>
Fri, 11 Jun 2010 02:07:29 +0000 (02:07 +0000)
committergraham.gower <graham.gower@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358>
Fri, 11 Jun 2010 02:07:29 +0000 (02:07 +0000)
file_hash_set_file_owner() strips the offline root path, so this reciprocal
function should do likewise. This makes behaviour consistent with and without
an offline root.

git-svn-id: http://opkg.googlecode.com/svn/trunk@534 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358

libopkg/pkg_hash.c

index a7e3f52a5d34c3a8944010979e68c4adcc830e56..f72ed26e52fc3845e9f29f1c1911605d3dd37cd6 100644 (file)
@@ -623,7 +623,14 @@ hash_insert_pkg(pkg_t *pkg, int set_status)
 pkg_t *
 file_hash_get_file_owner(const char *file_name)
 {
-       return hash_table_get(&conf->file_hash, file_name); 
+       if (conf->offline_root) {
+               unsigned int len = strlen(conf->offline_root);
+               if (strncmp(file_name, conf->offline_root, len) == 0) {
+                       file_name += len;
+               }
+       }
+
+       return hash_table_get(&conf->file_hash, file_name);
 }
 
 void