void check_binary_file(char *filename) { unsigned char *image; unsigned char *p; unsigned idsize; int nbytes; int nrecords; image = get_binary_file_image(filename, &nbytes); if ( image == NULL ) { check_printf("No file image: %s\n", filename); return; } p = image; CHECK_FOR_ERROR(strcmp((char*)p, gdata->header)==0); check_printf("Filename=%s, nbytes=%d, header=\"%s\"\n", filename, nbytes, p); p+=((int)strlen((char*)p)+1); idsize = read_u4(&p); CHECK_FOR_ERROR(idsize==sizeof(HprofId)); (void)read_u4(&p); (void)read_u4(&p); /* LINTED */ nrecords = check_tags(p, nbytes - (int)( p - image ) ); check_printf("#%d total records found in %d bytes\n", nrecords, nbytes); HPROF_FREE(image); }
void visit(T &theNode) override { if(theNode.enabled() || !visit_only_enabled()) { if(check_tags(m_tags, theNode.tags())){ m_objects.push_back(&theNode); } Visitor::visit(static_cast<gl::Object3D&>(theNode)); } };
ptrdiff_t tree_set_store::set_set_tag(ptrdiff_t set) { if (buckets[set].tag != EMPTY_TAG) { return buckets[set].tag; } check_tags(); tags[tags_next] = set; buckets[set].tag = tags_next; return tags_next++; }
GST_END_TEST GST_START_TEST (test_merge) { GstTagList *list = NULL, *list2 = NULL, *merge = NULL; /* check merging */ /* unfixed */ GST_DEBUG ("unfixed"); NEW_LISTS_UNFIXED (GST_TAG_MERGE_REPLACE_ALL); check_tags (merge, UTAG, UNFIXED3, UNFIXED4, NULL); NEW_LISTS_UNFIXED (GST_TAG_MERGE_REPLACE); check_tags (merge, UTAG, UNFIXED3, UNFIXED4, NULL); NEW_LISTS_UNFIXED (GST_TAG_MERGE_PREPEND); check_tags (merge, UTAG, UNFIXED3, UNFIXED4, UNFIXED1, UNFIXED2, NULL); NEW_LISTS_UNFIXED (GST_TAG_MERGE_APPEND); check_tags (merge, UTAG, UNFIXED1, UNFIXED2, UNFIXED3, UNFIXED4, NULL); NEW_LISTS_UNFIXED (GST_TAG_MERGE_KEEP); check_tags (merge, UTAG, UNFIXED1, UNFIXED2, NULL); NEW_LISTS_UNFIXED (GST_TAG_MERGE_KEEP_ALL); check_tags (merge, UTAG, UNFIXED1, UNFIXED2, NULL); /* fixed */ GST_DEBUG ("fixed"); NEW_LISTS_FIXED (GST_TAG_MERGE_REPLACE_ALL); check_tags (merge, FTAG, FIXED3, NULL); NEW_LISTS_FIXED (GST_TAG_MERGE_REPLACE); check_tags (merge, FTAG, FIXED3, NULL); NEW_LISTS_FIXED (GST_TAG_MERGE_PREPEND); check_tags (merge, FTAG, FIXED3, NULL); NEW_LISTS_FIXED (GST_TAG_MERGE_APPEND); check_tags (merge, FTAG, FIXED1, NULL); NEW_LISTS_FIXED (GST_TAG_MERGE_KEEP); check_tags (merge, FTAG, FIXED1, NULL); NEW_LISTS_FIXED (GST_TAG_MERGE_KEEP_ALL); check_tags (merge, FTAG, FIXED1, NULL); /* first list empty */ GST_DEBUG ("first empty"); NEW_LISTS_EMPTY1 (GST_TAG_MERGE_REPLACE_ALL); check_tags (merge, FTAG, FIXED3, NULL); NEW_LISTS_EMPTY1 (GST_TAG_MERGE_REPLACE); check_tags (merge, FTAG, FIXED3, NULL); NEW_LISTS_EMPTY1 (GST_TAG_MERGE_PREPEND); check_tags (merge, FTAG, FIXED3, NULL); NEW_LISTS_EMPTY1 (GST_TAG_MERGE_APPEND); check_tags (merge, FTAG, FIXED3, NULL); NEW_LISTS_EMPTY1 (GST_TAG_MERGE_KEEP); check_tags (merge, FTAG, FIXED3, NULL); NEW_LISTS_EMPTY1 (GST_TAG_MERGE_KEEP_ALL); check_tags_empty (merge); /* second list empty */ GST_DEBUG ("second empty"); NEW_LISTS_EMPTY2 (GST_TAG_MERGE_REPLACE_ALL); check_tags_empty (merge); NEW_LISTS_EMPTY2 (GST_TAG_MERGE_REPLACE); check_tags (merge, FTAG, FIXED1, NULL); NEW_LISTS_EMPTY2 (GST_TAG_MERGE_PREPEND); check_tags (merge, FTAG, FIXED1, NULL); NEW_LISTS_EMPTY2 (GST_TAG_MERGE_APPEND); check_tags (merge, FTAG, FIXED1, NULL); NEW_LISTS_EMPTY2 (GST_TAG_MERGE_KEEP); check_tags (merge, FTAG, FIXED1, NULL); NEW_LISTS_EMPTY2 (GST_TAG_MERGE_KEEP_ALL); check_tags (merge, FTAG, FIXED1, NULL); /* clean up */ if (list) gst_tag_list_unref (list); if (list2) gst_tag_list_unref (list2); if (merge) gst_tag_list_unref (merge); }
GST_END_TEST GST_START_TEST (test_add) { GstTagList *list = NULL; /* check additions */ /* unfixed */ NEW_LIST_UNFIXED (GST_TAG_MERGE_REPLACE_ALL); check_tags (list, UTAG, UNFIXED4, NULL); NEW_LIST_UNFIXED (GST_TAG_MERGE_REPLACE); check_tags (list, UTAG, UNFIXED4, NULL); NEW_LIST_UNFIXED (GST_TAG_MERGE_PREPEND); check_tags (list, UTAG, UNFIXED4, UNFIXED3, UNFIXED2, UNFIXED1, NULL); NEW_LIST_UNFIXED (GST_TAG_MERGE_APPEND); check_tags (list, UTAG, UNFIXED1, UNFIXED2, UNFIXED3, UNFIXED4, NULL); NEW_LIST_UNFIXED (GST_TAG_MERGE_KEEP); check_tags (list, UTAG, UNFIXED1, NULL); NEW_LIST_UNFIXED (GST_TAG_MERGE_KEEP_ALL); check_tags (list, UTAG, NULL); /* fixed */ NEW_LIST_FIXED (GST_TAG_MERGE_REPLACE_ALL); check_tags (list, FTAG, FIXED4, NULL); NEW_LIST_FIXED (GST_TAG_MERGE_REPLACE); check_tags (list, FTAG, FIXED4, NULL); NEW_LIST_FIXED (GST_TAG_MERGE_PREPEND); check_tags (list, FTAG, FIXED4, NULL); NEW_LIST_FIXED (GST_TAG_MERGE_APPEND); check_tags (list, FTAG, FIXED1, NULL); NEW_LIST_FIXED (GST_TAG_MERGE_KEEP); check_tags (list, FTAG, FIXED1, NULL); NEW_LIST_FIXED (GST_TAG_MERGE_KEEP_ALL); check_tags (list, FTAG, NULL); /* clean up */ if (list) gst_tag_list_unref (list); }
Prob::represent_t Prob::Match::applicable(int from, int to, const Tag *first_tag, bool silent) { if(type != NOT_APPLICABLE) // @additional return type; const char *category = strchr(name, '@'); if(!category) { if(!silent) out->add("warning", "regeln har ingen typ"); return NOT_APPLICABLE; } category++; // step past '@' if(strcmp(name, "ie@vbrecog") == 0) { if(!check_tags(tag, tag_c)) { if(!silent) out->add("warning", "tag för ersättning saknas"); return NOT_APPLICABLE; } return REPLACE; } else if(strcmp(name, "clbegin@clrecog") == 0) { return NOT_APPLICABLE; } else if(strcmp(name, "clend@clrecog") == 0) { return NOT_APPLICABLE; } else if(strcmp(category, "nprecog") == 0) { if(!check_tags(tag, tag_c)) { if(!silent) out->add("warning", "tag för ersättning saknas"); return NOT_APPLICABLE; } else if(begin == end && first_tag->String()[0] == tag[0]->String()[0] && first_tag->String()[1] == tag[0]->String()[1]) { if(!silent) out->add("note", "singleton-NP ändrar inte ursprunglig ordklass"); return NOT_APPLICABLE; } return REPLACE; } else if(strcmp(category, "vbrecog") == 0) { if(begin == end) { if(!silent) out->add("note", "singleton-VP ersätts inte"); return NOT_APPLICABLE; } else if(!check_tags(tag, tag_c)) { if(!silent) out->add("warning", "tag för ersättning saknas"); return NOT_APPLICABLE; } return REPLACE; } else if(strcmp(category, "pprecog") == 0 || strcmp(category, "abrecog") == 0) { return REMOVE; } else if(strcmp(category, "jjrecog") == 0) { #if 0 // leaving the external jj:s gives a lot of false alarms if(strcmp(name, "jjexternal@jjrecog") == 0) return NOT_APPLICABLE; // leave else #endif return REMOVE; } else if(strcmp(category, "qnrecog") == 0) { return NOT_APPLICABLE; } else { if(!silent) { std::ostringstream s; s << "'" << category << "' är en okänd kategori"; out->add("warning", s.str().c_str()); } return NOT_APPLICABLE; } }
// Hier geht die Post ab void import_file (const gchar *import_path) { TagLib_File *file; TagLib_Tag *tag; gchar *export_path; gchar *filename; gchar *artist; gchar *album; // Prüfen ob die Datei gültig ist file = taglib_file_new (import_path); if (file == NULL) { return; } // Prüfen ob wir Tags haben tag = taglib_file_tag (file); if (tag == NULL) { return; } // Falls Tags unvollständig sind -> Nicht importieren if (!check_tags (tag)) { gchar *text; text = g_strdup_printf ("Nicht importieren! (Tags unvollstaendig) -> %s", import_path); settings_import_messages_add (text); return; } // Dateiname holen filename = g_path_get_basename (import_path); // Die einzelnen Tags holen artist = taglib_tag_artist(tag); album = taglib_tag_album (tag); // Artist & Album Ordner erstellen create_artist_dir (artist); create_album_dir (album, artist); // Export Pfad bestimmen export_path = get_song_path (tag, get_file_extension (filename)); // Prüfen, ob schon vorhanden if (exist_target (export_path, import_path)) { gchar *text; text = g_strdup_printf ("Überspringe: %s", filename); settings_import_messages_add (text); return; } // Datei kopieren if (!copy_file (import_path, export_path)) { gchar *text; text = g_strdup_printf ("Import fehlgeschlagen! -> %s", filename); settings_import_messages_add (text); return; } // File in Datenbank eintragen if (!register_file (export_path)) { gchar *text; text = g_strdup_printf ("Datei '%s' konnte nicht in der Datenbank registriert werden!", filename); settings_import_messages_add (text); return; } // Speicher wieder freigeben taglib_tag_free_strings (); taglib_file_free (file); }
TEST(tagged_tuple, tags) { check_tags(); check_tags<Y>("hello"); check_tags<Z, X>('=', "world"); check_tags<X, Y, Z>(5.6, 10, true); }