Lines Matching refs:cfile

113 	JavaClassFile *cfile;  in java_class_file_new()  local
115 cfile = g_new0 (JavaClassFile, 1); in java_class_file_new()
116 cfile->fd = -1; in java_class_file_new()
118 return cfile; in java_class_file_new()
123 java_class_file_free (JavaClassFile *cfile) in java_class_file_free() argument
127 if (cfile->const_pool_class != NULL) { in java_class_file_free()
128 g_slist_foreach (cfile->const_pool_class, (GFunc)g_free, NULL); in java_class_file_free()
129 g_slist_free (cfile->const_pool_class); in java_class_file_free()
132 for (scan = cfile->const_pool_utf; scan ; scan = scan->next) { in java_class_file_free()
137 if (cfile->const_pool_utf != NULL) { in java_class_file_free()
138 g_slist_foreach (cfile->const_pool_utf, (GFunc)g_free, NULL); in java_class_file_free()
139 g_slist_free (cfile->const_pool_utf); in java_class_file_free()
142 if (cfile->fd != -1) in java_class_file_free()
143 close (cfile->fd); in java_class_file_free()
145 g_free (cfile); in java_class_file_free()
152 load_constant_pool_utfs (JavaClassFile *cfile) in load_constant_pool_utfs() argument
157 while ((i < cfile->const_pool_count - 1) && (read (cfile->fd, &tag, 1) != -1)) { in load_constant_pool_utfs()
165 if (read (cfile->fd, &class->name_index, 2) != 2) { in load_constant_pool_utfs()
170 cfile->const_pool_class = g_slist_append (cfile->const_pool_class, class); in load_constant_pool_utfs()
174 lseek (cfile->fd, CONST_FIELDREF_INFO, SEEK_CUR); in load_constant_pool_utfs()
178 lseek (cfile->fd, CONST_METHODREF_INFO, SEEK_CUR); in load_constant_pool_utfs()
182 lseek (cfile->fd, CONST_INTERFACEMETHODREF_INFO, SEEK_CUR); in load_constant_pool_utfs()
186 lseek (cfile->fd, CONST_STRING_INFO, SEEK_CUR); in load_constant_pool_utfs()
190 lseek (cfile->fd, CONST_INTEGER_INFO, SEEK_CUR); in load_constant_pool_utfs()
194 lseek (cfile->fd, CONST_FLOAT_INFO, SEEK_CUR); in load_constant_pool_utfs()
198 lseek (cfile->fd, CONST_LONG_INFO, SEEK_CUR); in load_constant_pool_utfs()
202 lseek (cfile->fd, CONST_DOUBLE_INFO, SEEK_CUR); in load_constant_pool_utfs()
206 lseek (cfile->fd, CONST_NAMEANDTYPE_INFO, SEEK_CUR); in load_constant_pool_utfs()
212 if (read (cfile->fd, &(txt->length), 2) == -1) { in load_constant_pool_utfs()
218 if (read (cfile->fd, txt->str, txt->length) == -1) { in load_constant_pool_utfs()
222 cfile->const_pool_utf = g_slist_append (cfile->const_pool_utf, txt); in load_constant_pool_utfs()
239 close_and_exit (JavaClassFile *cfile) in close_and_exit() argument
241 java_class_file_free (cfile); in close_and_exit()
251 JavaClassFile *cfile; in get_package_name_from_class_file() local
260 cfile = java_class_file_new (); in get_package_name_from_class_file()
261 cfile->fd = open (fname, O_RDONLY); in get_package_name_from_class_file()
262 if (cfile->fd == -1) in get_package_name_from_class_file()
263 return close_and_exit (cfile); in get_package_name_from_class_file()
265 if ((i = read (cfile->fd, &magic, 4)) != 4) in get_package_name_from_class_file()
266 return close_and_exit (cfile); in get_package_name_from_class_file()
267 cfile->magic_no = GUINT32_FROM_BE (magic); in get_package_name_from_class_file()
269 if (read (cfile->fd, &major, 2 ) != 2) in get_package_name_from_class_file()
270 return close_and_exit (cfile); in get_package_name_from_class_file()
271 cfile->major = GUINT16_FROM_BE (major); in get_package_name_from_class_file()
273 if (read (cfile->fd, &minor, 2) != 2) in get_package_name_from_class_file()
274 return close_and_exit (cfile); in get_package_name_from_class_file()
275 cfile->minor = GUINT16_FROM_BE (minor); in get_package_name_from_class_file()
277 if (read (cfile->fd, &count, 2) != 2) in get_package_name_from_class_file()
278 return close_and_exit (cfile); in get_package_name_from_class_file()
279 cfile->const_pool_count = GUINT16_FROM_BE(count); in get_package_name_from_class_file()
280 load_constant_pool_utfs (cfile); in get_package_name_from_class_file()
282 if (read (cfile->fd, &cfile->access_flags, 2) != 2) in get_package_name_from_class_file()
283 return close_and_exit (cfile); in get_package_name_from_class_file()
284 cfile->access_flags = GUINT16_FROM_BE (cfile->access_flags); in get_package_name_from_class_file()
286 if (read (cfile->fd, &cfile->this_class, 2) != 2) in get_package_name_from_class_file()
287 return close_and_exit (cfile); in get_package_name_from_class_file()
288 cfile->this_class = GUINT16_FROM_BE(cfile->this_class); in get_package_name_from_class_file()
292 for (i = 0; (i < g_slist_length (cfile->const_pool_class)) && (utf_index == 0); i++ ) { in get_package_name_from_class_file()
293 struct class_info *class = g_slist_nth_data (cfile->const_pool_class, i); in get_package_name_from_class_file()
294 if (class->index == cfile->this_class) in get_package_name_from_class_file()
300 for (i = 0; i < g_slist_length (cfile->const_pool_utf); i++) { in get_package_name_from_class_file()
301 struct utf_string *data = g_slist_nth_data (cfile->const_pool_utf, i); in get_package_name_from_class_file()
320 java_class_file_free (cfile); in get_package_name_from_class_file()
373 JavaClassFile *cfile; in get_package_name_from_java_file() local
381 cfile = java_class_file_new (); in get_package_name_from_java_file()
382 cfile->fd = open (fname, O_RDONLY); in get_package_name_from_java_file()
383 if (cfile->fd == -1) in get_package_name_from_java_file()
384 return close_and_exit (cfile); in get_package_name_from_java_file()
386 while (! valid_char_found && (read (cfile->fd, &ch, 1) == 1)) { in get_package_name_from_java_file()
390 consume_comment (cfile->fd, FALSE); in get_package_name_from_java_file()
399 consume_comment (cfile->fd, TRUE); in get_package_name_from_java_file()
421 if (read (cfile->fd, &first_valid_word[1], 6) != 6) in get_package_name_from_java_file()
422 return close_and_exit (cfile); in get_package_name_from_java_file()
429 while (read (cfile->fd, &ch, 1) == 1) { in get_package_name_from_java_file()
442 java_class_file_free (cfile); in get_package_name_from_java_file()