Lines Matching refs:cfile

114 	JavaClassFile *cfile;  in java_class_file_new()  local
116 cfile = g_new0 (JavaClassFile, 1); in java_class_file_new()
117 cfile->fd = -1; in java_class_file_new()
119 return cfile; in java_class_file_new()
124 java_class_file_free (JavaClassFile *cfile) in java_class_file_free() argument
128 if (cfile->const_pool_class != NULL) in java_class_file_free()
129 g_slist_free_full (cfile->const_pool_class, g_free); in java_class_file_free()
131 for (scan = cfile->const_pool_utf; scan ; scan = scan->next) { in java_class_file_free()
136 if (cfile->const_pool_utf != NULL) in java_class_file_free()
137 g_slist_free_full (cfile->const_pool_utf, g_free); in java_class_file_free()
139 if (cfile->fd != -1) in java_class_file_free()
140 close (cfile->fd); in java_class_file_free()
142 g_free (cfile); in java_class_file_free()
149 load_constant_pool_utfs (JavaClassFile *cfile) in load_constant_pool_utfs() argument
154 while ((i < cfile->const_pool_count - 1) && (read (cfile->fd, &tag, 1) != -1)) { in load_constant_pool_utfs()
162 if (read (cfile->fd, &class->name_index, 2) != 2) { in load_constant_pool_utfs()
167 cfile->const_pool_class = g_slist_append (cfile->const_pool_class, class); in load_constant_pool_utfs()
171 lseek (cfile->fd, CONST_FIELDREF_INFO, SEEK_CUR); in load_constant_pool_utfs()
175 lseek (cfile->fd, CONST_METHODREF_INFO, SEEK_CUR); in load_constant_pool_utfs()
179 lseek (cfile->fd, CONST_INTERFACEMETHODREF_INFO, SEEK_CUR); in load_constant_pool_utfs()
183 lseek (cfile->fd, CONST_STRING_INFO, SEEK_CUR); in load_constant_pool_utfs()
187 lseek (cfile->fd, CONST_INTEGER_INFO, SEEK_CUR); in load_constant_pool_utfs()
191 lseek (cfile->fd, CONST_FLOAT_INFO, SEEK_CUR); in load_constant_pool_utfs()
195 lseek (cfile->fd, CONST_LONG_INFO, SEEK_CUR); in load_constant_pool_utfs()
199 lseek (cfile->fd, CONST_DOUBLE_INFO, SEEK_CUR); in load_constant_pool_utfs()
203 lseek (cfile->fd, CONST_NAMEANDTYPE_INFO, SEEK_CUR); in load_constant_pool_utfs()
209 if (read (cfile->fd, &(txt->length), 2) == -1) { in load_constant_pool_utfs()
215 if (read (cfile->fd, txt->str, txt->length) == -1) { in load_constant_pool_utfs()
219 cfile->const_pool_utf = g_slist_append (cfile->const_pool_utf, txt); in load_constant_pool_utfs()
236 close_and_exit (JavaClassFile *cfile) in close_and_exit() argument
238 java_class_file_free (cfile); in close_and_exit()
248 JavaClassFile *cfile; in get_package_name_from_class_file() local
257 cfile = java_class_file_new (); in get_package_name_from_class_file()
258 cfile->fd = open (fname, O_RDONLY); in get_package_name_from_class_file()
259 if (cfile->fd == -1) in get_package_name_from_class_file()
260 return close_and_exit (cfile); in get_package_name_from_class_file()
262 if ((i = read (cfile->fd, &magic, 4)) != 4) in get_package_name_from_class_file()
263 return close_and_exit (cfile); in get_package_name_from_class_file()
264 cfile->magic_no = GUINT32_FROM_BE (magic); in get_package_name_from_class_file()
266 if (read (cfile->fd, &major, 2 ) != 2) in get_package_name_from_class_file()
267 return close_and_exit (cfile); in get_package_name_from_class_file()
268 cfile->major = GUINT16_FROM_BE (major); in get_package_name_from_class_file()
270 if (read (cfile->fd, &minor, 2) != 2) in get_package_name_from_class_file()
271 return close_and_exit (cfile); in get_package_name_from_class_file()
272 cfile->minor = GUINT16_FROM_BE (minor); in get_package_name_from_class_file()
274 if (read (cfile->fd, &count, 2) != 2) in get_package_name_from_class_file()
275 return close_and_exit (cfile); in get_package_name_from_class_file()
276 cfile->const_pool_count = GUINT16_FROM_BE(count); in get_package_name_from_class_file()
277 load_constant_pool_utfs (cfile); in get_package_name_from_class_file()
279 if (read (cfile->fd, &cfile->access_flags, 2) != 2) in get_package_name_from_class_file()
280 return close_and_exit (cfile); in get_package_name_from_class_file()
281 cfile->access_flags = GUINT16_FROM_BE (cfile->access_flags); in get_package_name_from_class_file()
283 if (read (cfile->fd, &cfile->this_class, 2) != 2) in get_package_name_from_class_file()
284 return close_and_exit (cfile); in get_package_name_from_class_file()
285 cfile->this_class = GUINT16_FROM_BE(cfile->this_class); in get_package_name_from_class_file()
289 for (i = 0; (i < g_slist_length (cfile->const_pool_class)) && (utf_index == 0); i++ ) { in get_package_name_from_class_file()
290 struct class_info *class = g_slist_nth_data (cfile->const_pool_class, i); in get_package_name_from_class_file()
291 if (class->index == cfile->this_class) in get_package_name_from_class_file()
297 for (i = 0; i < g_slist_length (cfile->const_pool_utf); i++) { in get_package_name_from_class_file()
298 struct utf_string *data = g_slist_nth_data (cfile->const_pool_utf, i); in get_package_name_from_class_file()
316 java_class_file_free (cfile); in get_package_name_from_class_file()
369 JavaClassFile *cfile; in get_package_name_from_java_file() local
377 cfile = java_class_file_new (); in get_package_name_from_java_file()
378 cfile->fd = open (fname, O_RDONLY); in get_package_name_from_java_file()
379 if (cfile->fd == -1) in get_package_name_from_java_file()
380 return close_and_exit (cfile); in get_package_name_from_java_file()
382 while (! valid_char_found && (read (cfile->fd, &ch, 1) == 1)) { in get_package_name_from_java_file()
386 consume_comment (cfile->fd, FALSE); in get_package_name_from_java_file()
395 consume_comment (cfile->fd, TRUE); in get_package_name_from_java_file()
417 if (read (cfile->fd, &first_valid_word[1], 6) != 6) in get_package_name_from_java_file()
418 return close_and_exit (cfile); in get_package_name_from_java_file()
425 while (read (cfile->fd, &ch, 1) == 1) { in get_package_name_from_java_file()
442 } while (read (cfile->fd, &ch, 1) == 1); in get_package_name_from_java_file()
448 java_class_file_free (cfile); in get_package_name_from_java_file()