Beispiel #1
0
static void mode_set(GString *str, char type, char mode)
{
	g_return_if_fail(str != NULL);

	if (type == '-')
		mode_remove(str, mode);
        else
		mode_add_sorted(str, mode, NULL);
}
Beispiel #2
0
static void mode_set_arg(GString *str, char type, char mode, const char *arg)
{
	g_return_if_fail(str != NULL);
	g_return_if_fail(type == '-' || arg != NULL);

	if (type == '-')
		mode_remove(str, mode);
        else
		mode_add_sorted(str, mode, arg);
}
Beispiel #3
0
static void mode_set(IRC_SERVER_REC *server, GString *str,
		     char type, char mode, int user)
{
	g_return_if_fail(str != NULL);

	if (type == '-')
		mode_remove(server, str, mode, user);
        else
		mode_add_sorted(server, str, mode, NULL, user);
}
Beispiel #4
0
static void mode_set_arg(IRC_SERVER_REC *server, GString *str,
			 char type, char mode, const char *arg, int user)
{
	g_return_if_fail(str != NULL);
	g_return_if_fail(type == '-' || arg != NULL);

	if (type == '-')
		mode_remove(server, str, mode, user);
        else
		mode_add_sorted(server, str, mode, arg, user);
}
Beispiel #5
0
Datei: txt.c Projekt: aahls/txt
int main(int argc, char **argv){
    int remove=0;
    int longout=0;

    int tag_add=0;
    int tag_del=0;
    char *tag_filter=NULL;

    int importance=5;

    enum db which_db=DB_STD;

    int invert_order=0;
    enum sort_policy sort=ID;

    char opt;

    note_db_t db;

    while((opt=getopt(argc, argv, "vlri:Is:ARt:GD")) != -1){
        switch(opt){
            case 'v':
                printf("txt v%s\n", VERSION);
                exit(0);
            case 'l':
                longout=1;
                break;
            case 'r':
                remove=1;
                break;
            case 'i':
                importance=atoi(optarg);
                if(importance<1 || importance>10){
                    puts("Bad importance specified, must be integer between" \
                         "1 and 10 (inclusive)");
                    exit(9);
                }
                break;
            case 't':
                if(optarg[0]=='#'){
                    tag_filter=optarg+1;
                }else{
                    printf("Invalid tag %s (must be specified with a # sign).", optarg);
                    exit(9);
                }
                break;
            case 's':
                switch(optarg[0]){
                    case 'c':
                        sort=CREATED;
                        break;
                    case 'i':
                        sort=IMPORTANCE;
                        break;
                    default:
                        puts("Unknown sorting policy. Ignoring.");
                        break;
                }
                break;
            case 'I':
                invert_order=1;
                break;
            case 'A':
                tag_add=1;
                break;
            case 'R':
                tag_del=1;
                break;
            case 'G':
                which_db=DB_GLOBAL;
                break;
            case 'D':
                which_db=DB_DIR;
                break;
        }
    }
    if(remove+tag_add+tag_del>1){
        puts("Options -r, -A and/or -R can not be used simultaneously.");
        exit(9);
    }

    db=get_db(which_db);

    if(remove){
        mode_remove(argc, argv, &db);
        save_db(&db, NOTESFILE);
    }else if(tag_add || tag_del){
        mode_tag_edit(argc, argv, &db, tag_del);
        save_db(&db, NOTESFILE);
    }else if(argc==optind){
        mode_list(&db, longout, sort, invert_order, tag_filter);
    }else{
        mode_add(argc, argv, &db, importance);
        save_db(&db, NOTESFILE);
    }

    free_db(&db);

    return 0;
}