From 0e10f8fcc9bf66e55f3f817f59226a9690c992fd Mon Sep 17 00:00:00 2001 From: Tom Yu Date: Wed, 10 Aug 1994 00:31:19 +0000 Subject: [PATCH] * *.c: "upgrade" to C Classic :-) git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@4106 dc483132-0cff-0310-8789-dd5450dbe970 --- src/clients/ksu/ChangeLog | 4 ++ src/clients/ksu/authorization.c | 119 +++++++++++++++++++++++--------- src/clients/ksu/ccache.c | 107 +++++++++++++++++++--------- src/clients/ksu/heuristic.c | 86 +++++++++++++++++------ src/clients/ksu/krb_auth_su.c | 67 ++++++++++++------ src/clients/ksu/main.c | 20 ++++-- 6 files changed, 291 insertions(+), 112 deletions(-) diff --git a/src/clients/ksu/ChangeLog b/src/clients/ksu/ChangeLog index ea0913c12..5bd6a38ea 100644 --- a/src/clients/ksu/ChangeLog +++ b/src/clients/ksu/ChangeLog @@ -1,3 +1,7 @@ +Tue Aug 9 20:29:47 1994 Tom Yu (tlyu@dragons-lair) + + * *.c: "upgrade" to C Classic :-) + Tue Aug 9 00:11:07 1994 Mark Eichin (eichin@cygnus.com) * main.c: define MAXHOSTNAMELEN if it isn't there already diff --git a/src/clients/ksu/authorization.c b/src/clients/ksu/authorization.c index 40900f7d9..2561d267b 100644 --- a/src/clients/ksu/authorization.c +++ b/src/clients/ksu/authorization.c @@ -31,7 +31,10 @@ static krb5_error_code _dbm_an_to_ln(); static krb5_error_code _username_an_to_ln(); static void auth_cleanup(); -krb5_boolean fowner(FILE * fp, int uid){ +krb5_boolean fowner(fp, uid) + FILE *fp; + int uid; +{ struct stat sbuf; /* @@ -59,12 +62,16 @@ return(TRUE); * */ -krb5_error_code krb5_authorization( /* IN */ - krb5_principal principal, - const char *luser, - char * local_realm_name, char * cmd, - /* OUT */ - krb5_boolean * ok, char ** out_fcmd) +krb5_error_code krb5_authorization(principal, luser, local_realm_name, + cmd, ok, out_fcmd) + /* IN */ + krb5_principal principal; + const char *luser; + char *local_realm_name; + char *cmd; + /* OUT */ + krb5_boolean *ok; + char **out_fcmd; { struct passwd *pwd; char * kuser; @@ -223,8 +230,11 @@ any tokens after the principal name FALSE is returned. ***********************************************************/ -krb5_error_code k5login_lookup ( FILE *fp, char * princname, - krb5_boolean * found) { +krb5_error_code k5login_lookup (fp, princname, found) + FILE *fp; + char *princname; + krb5_boolean *found; +{ krb5_error_code retval; char * line; @@ -280,8 +290,13 @@ if princname is found{ ***********************************************************/ -krb5_error_code k5users_lookup ( FILE *fp, char * princname, char *cmd, - krb5_boolean * found , char ** out_fcmd) { +krb5_error_code k5users_lookup (fp, princname, cmd, found, out_fcmd) + FILE *fp; + char *princname; + char *cmd; + krb5_boolean *found; + char **out_fcmd; +{ krb5_error_code retval; char * line; char * fprinc, *fcmd; @@ -360,7 +375,11 @@ resolves it into a full path name. ************************************************/ -krb5_boolean fcmd_resolve(char * fcmd, char *** out_fcmd, char ** out_err){ +krb5_boolean fcmd_resolve(fcmd, out_fcmd, out_err) + char *fcmd; + char ***out_fcmd; + char **out_err; +{ char * out_path; char * err; char ** tmp_fcmd; @@ -441,7 +460,9 @@ cmd_single - checks if cmd consists of a path ********************************************/ -krb5_boolean cmd_single( char * cmd ){ +krb5_boolean cmd_single(cmd) + char * cmd; +{ if ( ( strrchr( cmd, '/')) == NULL){ return TRUE; @@ -455,7 +476,10 @@ cmd_arr_cmp_postfix - compares a command with the postfix of fcmd ********************************************/ -int cmd_arr_cmp_postfix(char ** fcmd_arr, char * cmd){ +int cmd_arr_cmp_postfix(fcmd_arr, cmd) + char **fcmd_arr; + char *cmd; +{ char * temp_fcmd; char *ptr; int result =1; @@ -486,7 +510,10 @@ cmd_arr_cmp - checks if cmd matches any **********************************************/ -int cmd_arr_cmp (char ** fcmd_arr, char * cmd){ +int cmd_arr_cmp (fcmd_arr, cmd) + char **fcmd_arr; + char *cmd; +{ int result =1; int i = 0; @@ -501,9 +528,11 @@ return result; } -krb5_boolean find_first_cmd_that_exists( char ** fcmd_arr, char ** cmd_out, - char ** err_out){ - +krb5_boolean find_first_cmd_that_exists(fcmd_arr, cmd_out, err_out) + char **fcmd_arr; + char **cmd_out; + char **err_out; +{ struct stat st_temp; int i = 0; krb5_boolean retbool= FALSE; @@ -542,9 +571,13 @@ returns 1 if there is an error, 0 if no error. ***************************************************************/ -int match_commands ( char * fcmd, char * cmd, krb5_boolean *match, - char **cmd_out, char ** err_out){ - +int match_commands (fcmd, cmd, match, cmd_out, err_out) + char *fcmd; + char *cmd; + krb5_boolean *match; + char **cmd_out; + char **err_out; +{ char ** fcmd_arr; char * err; char * cmd_temp; @@ -587,9 +620,12 @@ if (cmd_single( cmd ) == TRUE){ is set to null if eof. *********************************************************/ -krb5_error_code get_line ( /* IN */ FILE * fp, - /* OUT */ char ** out_line ){ - +krb5_error_code get_line (fp, out_line) + /* IN */ + FILE *fp; + /* OUT */ + char **out_line; +{ char * line, *r, *newline , *line_ptr; int chunk_count = 1; @@ -632,7 +668,10 @@ will be returned as part of the first token. Note: this routine reuses the space pointed to by line ******************************************************/ -char * get_first_token (char * line, char ** lnext){ +char * get_first_token (line, lnext) + char *line; + char **lnext; +{ char * lptr, * out_ptr; @@ -665,7 +704,9 @@ Note: that this function modifies the stream lnext to the next tocken. **********************************************************/ -char * get_next_token (char ** lnext){ +char * get_next_token (lnext) + char **lnext; +{ char * lptr, * out_ptr; @@ -698,7 +739,10 @@ return out_ptr; * null in the DBM datum.size. ********************************************************************/ static krb5_error_code -_dbm_an_to_ln( krb5_const_principal aname, const int lnsize, char *lname) +_dbm_an_to_ln(aname, lnsize, lname) + krb5_const_principal aname; + const int lnsize; + char *lname; { DBM *db; krb5_error_code retval; @@ -744,8 +788,11 @@ _dbm_an_to_ln( krb5_const_principal aname, const int lnsize, char *lname) ************************************************************/ static krb5_error_code -_username_an_to_ln ( krb5_const_principal aname, const int lnsize, - char *lname, char * realm) +_username_an_to_ln (aname, lnsize, lname, realm) + krb5_const_principal aname; + const int lnsize; + char *lname; + char *realm; { krb5_error_code retval; int realm_length; @@ -782,8 +829,14 @@ _username_an_to_ln ( krb5_const_principal aname, const int lnsize, return retval; } -static void auth_cleanup(int k5users_flag, FILE * users_fp, - int k5login_flag, FILE * login_fp, char *princname){ +static void auth_cleanup(k5users_flag, users_fp, k5login_flag, + login_fp, princname) + int k5users_flag; + FILE *users_fp; + int k5login_flag; + FILE *login_fp; + char *princname; +{ free (princname); if (!k5users_flag) fclose(users_fp); @@ -791,7 +844,9 @@ static void auth_cleanup(int k5users_flag, FILE * users_fp, } -void init_auth_names(char *pw_dir){ +void init_auth_names(pw_dir) + char *pw_dir; +{ if ((strlen(pw_dir) == 1) && (*pw_dir == '/')){ sprintf(k5login_path,"%s%s", pw_dir, KRB5_LOGIN_NAME); diff --git a/src/clients/ksu/ccache.c b/src/clients/ksu/ccache.c index b778af87b..2d66583e9 100644 --- a/src/clients/ksu/ccache.c +++ b/src/clients/ksu/ccache.c @@ -43,12 +43,16 @@ void show_credential(); with k5 beta 3 release. */ -krb5_error_code krb5_ccache_copy (/* IN */ - krb5_ccache cc_def, char * cc_other_tag, - krb5_principal primary_principal, - /* OUT */ - krb5_ccache * cc_out, krb5_boolean * stored){ - +krb5_error_code krb5_ccache_copy (cc_def, cc_other_tag, primary_principal, + cc_out, stored) + /* IN */ + krb5_ccache cc_def; + char *cc_other_tag; + krb5_principal primary_principal; + /* OUT */ + krb5_ccache *cc_out; + krb5_boolean *stored; +{ int i=0; krb5_ccache * cc_other; char * cc_def_name; @@ -111,8 +115,11 @@ struct stat st_temp; -krb5_error_code krb5_store_all_creds(krb5_ccache cc, - krb5_creds ** creds_def, krb5_creds ** creds_other ){ +krb5_error_code krb5_store_all_creds(cc, creds_def, creds_other) + krb5_ccache cc; + krb5_creds **creds_def; + krb5_creds **creds_other; +{ int i = 0; int j = 0; @@ -175,8 +182,10 @@ krb5_boolean cmp; return 0; } -krb5_boolean compare_creds( krb5_creds * cred1, krb5_creds * cred2){ - +krb5_boolean compare_creds(cred1, cred2) + krb5_creds *cred1; + krb5_creds *cred2; +{ krb5_boolean retval; retval = krb5_principal_compare (cred1->client, cred2->client); @@ -190,8 +199,10 @@ krb5_boolean retval; -krb5_error_code krb5_get_nonexp_tkts(krb5_ccache cc, - krb5_creds *** creds_array){ +krb5_error_code krb5_get_nonexp_tkts(cc, creds_array) + krb5_ccache cc; + krb5_creds ***creds_array; +{ krb5_creds creds, temp_tktq, temp_tkt; krb5_creds **temp_creds; @@ -259,7 +270,8 @@ int chunk_count = 1; extern krb5_deltat krb5_clockskew; -krb5_error_code krb5_check_exp(krb5_ticket_times tkt_time) +krb5_error_code krb5_check_exp(tkt_time) + krb5_ticket_times tkt_time; { krb5_error_code retval =0; krb5_timestamp currenttime; @@ -285,7 +297,8 @@ krb5_timestamp currenttime; } -char *flags_string( krb5_creds *cred) +char *flags_string(cred) + krb5_creds *cred; { static char buf[32]; int i = 0; @@ -319,7 +332,8 @@ char *flags_string( krb5_creds *cred) static char *Month_names[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; -void printtime( time_t tv) +void printtime(tv) + time_t tv; { struct tm *stime; @@ -335,7 +349,9 @@ void printtime( time_t tv) krb5_error_code -krb5_get_login_princ( const char *luser, char *** princ_list ) +krb5_get_login_princ(luser, princ_list) + const char *luser; + char ***princ_list; { struct stat sbuf; struct passwd *pwd; @@ -420,7 +436,9 @@ krb5_get_login_princ( const char *luser, char *** princ_list ) void -show_credential(krb5_creds * cred, krb5_ccache cc) +show_credential(cred, cc) + krb5_creds *cred; + krb5_ccache cc; { krb5_error_code retval; char *name, *sname, *flags; @@ -495,8 +513,11 @@ int gen_sym(){ return i; } -krb5_error_code krb5_ccache_overwrite( krb5_ccache ccs, krb5_ccache cct, - krb5_principal primary_principal){ +krb5_error_code krb5_ccache_overwrite(ccs, cct, primary_principal) + krb5_ccache ccs; + krb5_ccache cct; + krb5_principal primary_principal; +{ char * cct_name; char * ccs_name; krb5_error_code retval=0; @@ -540,9 +561,14 @@ struct stat st_temp; return retval; } -krb5_error_code krb5_store_some_creds(krb5_ccache cc, krb5_creds ** creds_def, - krb5_creds ** creds_other, - krb5_principal prst,krb5_boolean *stored){ +krb5_error_code krb5_store_some_creds(cc, creds_def, creds_other, prst, + stored) + krb5_ccache cc; + krb5_creds **creds_def; + krb5_creds **creds_other; + krb5_principal prst; + krb5_boolean *stored; +{ int i = 0; int j = 0; @@ -595,11 +621,15 @@ but I had to do it this way, since cc_remove function did not come with k5 beta 3 release. ************************************************************************/ -krb5_error_code krb5_ccache_copy_restricted (/* IN */ - krb5_ccache cc_def, char * cc_other_tag, - krb5_principal prst, - /* OUT */ - krb5_ccache * cc_out, krb5_boolean *stored ){ +krb5_error_code krb5_ccache_copy_restricted (cc_def, cc_other_tag, prst, + cc_out, stored) + krb5_ccache cc_def; + char *cc_other_tag; + krb5_principal prst; + /* OUT */ + krb5_ccache *cc_out; + krb5_boolean *stored; +{ int i=0; krb5_ccache * cc_other; @@ -668,7 +698,9 @@ not available with beta3 release. ************************************************************/ -krb5_error_code krb5_ccache_refresh ( krb5_ccache cc ){ +krb5_error_code krb5_ccache_refresh (cc) + krb5_ccache cc; +{ int i=0; krb5_error_code retval=0; @@ -712,7 +744,10 @@ struct stat st_temp; return 0; } -krb5_error_code krb5_ccache_filter ( krb5_ccache cc, krb5_principal prst){ +krb5_error_code krb5_ccache_filter (cc, prst) + krb5_ccache cc; + krb5_principal prst; +{ int i=0; krb5_error_code retval=0; @@ -756,8 +791,10 @@ struct stat st_temp; return 0; } -krb5_boolean krb5_find_princ_in_cred_list ( krb5_creds ** creds_list, - krb5_principal princ){ +krb5_boolean krb5_find_princ_in_cred_list (creds_list, princ) + krb5_creds **creds_list; + krb5_principal princ; +{ int i = 0; krb5_boolean temp_stored = FALSE; @@ -777,9 +814,11 @@ krb5_boolean temp_stored = FALSE; return temp_stored; } -krb5_error_code krb5_find_princ_in_cache ( krb5_ccache cc, - krb5_principal princ, - krb5_boolean * found ){ +krb5_error_code krb5_find_princ_in_cache (cc, princ, found) + krb5_ccache cc; + krb5_principal princ; + krb5_boolean *found; +{ krb5_error_code retval; krb5_creds ** creds_list = NULL; char * cc_name; diff --git a/src/clients/ksu/heuristic.c b/src/clients/ksu/heuristic.c index 195aa24f1..4a4de0dd9 100644 --- a/src/clients/ksu/heuristic.c +++ b/src/clients/ksu/heuristic.c @@ -35,7 +35,10 @@ get_all_princ_from_file - retrieves all principal names void close_time(); krb5_boolean find_str_in_list(); -krb5_error_code get_all_princ_from_file ( FILE * fp, char *** plist){ +krb5_error_code get_all_princ_from_file (fp, plist) + FILE *fp; + char ***plist; +{ krb5_error_code retval; char * line, * fprinc, * lp, ** temp_list = NULL; @@ -86,8 +89,11 @@ list_union - combines list1 and list2 into combined_list. or used by combined_list. **************************************************************/ -krb5_error_code list_union(char ** list1,char ** list2, - char *** combined_list){ +krb5_error_code list_union(list1, list2, combined_list) + char **list1; + char **list2; + char ***combined_list; +{ int c1 =0, c2 = 0, i=0, j=0; char ** tlist; @@ -134,7 +140,12 @@ char ** tlist; } krb5_error_code -filter(FILE *fp,char *cmd, char ** k5users_list,char *** k5users_filt_list){ +filter(fp, cmd, k5users_list, k5users_filt_list) + FILE *fp; + char *cmd; + char **k5users_list; + char ***k5users_filt_list; +{ krb5_error_code retval =0; krb5_boolean found = FALSE; @@ -186,7 +197,10 @@ char ** temp_filt_list; } krb5_error_code -get_authorized_princ_names( const char *luser, char *cmd, char *** princ_list) +get_authorized_princ_names(luser, cmd, princ_list) + const char *luser; + char *cmd; + char ***princ_list; { struct passwd *pwd; @@ -267,15 +281,22 @@ get_authorized_princ_names( const char *luser, char *cmd, char *** princ_list) return 0; } -void close_time(int k5users_flag, FILE * users_fp, - int k5login_flag, FILE * login_fp){ +void close_time(k5users_flag, users_fp, k5login_flag, login_fp) + int k5users_flag; + FILE *users_fp; + int k5login_flag; + FILE *login_fp; +{ if (!k5users_flag) fclose(users_fp); if (!k5login_flag) fclose(login_fp); } -krb5_boolean find_str_in_list( char ** list , char * elm){ +krb5_boolean find_str_in_list(list , elm) + char **list; + char *elm; +{ int i=0; krb5_boolean found = FALSE; @@ -303,8 +324,10 @@ A principal is picked that has the best chance of getting in. **********************************************************************/ -krb5_error_code get_closest_principal( char ** plist, krb5_principal * client, - krb5_boolean * found ) +krb5_error_code get_closest_principal(plist, client, found) + char **plist; + krb5_principal *client; + krb5_boolean *found; { krb5_error_code retval =0; char * client_name; @@ -379,8 +402,12 @@ find_either_ticket checks to see whether there is a ticket for the end server or tgt, if neither is there the return FALSE, *****************************************************************/ -krb5_error_code find_either_ticket (krb5_ccache cc, krb5_principal client, -krb5_principal end_server, krb5_boolean * found) { +krb5_error_code find_either_ticket (cc, client, end_server, found) + krb5_ccache cc; + krb5_principal client; + krb5_principal end_server; + krb5_boolean *found; +{ krb5_principal kdc_server; krb5_creds tgt, tgtq; @@ -423,8 +450,12 @@ if ( ! stat(cc_source_name, &st_temp)){ } -krb5_error_code find_ticket (krb5_ccache cc, krb5_principal client, -krb5_principal server, krb5_boolean * found) { +krb5_error_code find_ticket (cc, client, server, found) + krb5_ccache cc; + krb5_principal client; + krb5_principal server; + krb5_boolean *found; +{ krb5_principal kdc_server; krb5_creds tgt, tgtq; @@ -468,8 +499,11 @@ char * client_name; -krb5_error_code find_princ_in_list (krb5_principal princ, - char **plist , krb5_boolean * found ){ +krb5_error_code find_princ_in_list (princ, plist, found) + krb5_principal princ; + char **plist; + krb5_boolean *found; +{ int i=0; char * princname; @@ -508,11 +542,21 @@ path_out gets set to ... ***********************************************************************/ -krb5_error_code get_best_princ_for_target(int source_uid, int target_uid, - char * source_user, char * target_user, - krb5_ccache cc_source, opt_info *options, - char * cmd, char *hostname, - krb5_principal * client, int * path_out){ +krb5_error_code get_best_princ_for_target(source_uid, target_uid, + source_user, target_user, + cc_source, options, cmd, + hostname, client, path_out) + int source_uid; + int target_uid; + char *source_user; + char *target_user; + krb5_ccache cc_source; + opt_info *options; + char *cmd; + char *hostname; + krb5_principal *client; + int *path_out; +{ princ_info princ_trials[10]; char * cc_source_name; diff --git a/src/clients/ksu/krb_auth_su.c b/src/clients/ksu/krb_auth_su.c index 16959416f..c128d3c6c 100644 --- a/src/clients/ksu/krb_auth_su.c +++ b/src/clients/ksu/krb_auth_su.c @@ -45,10 +45,14 @@ int preauth_search_list[] = { -krb5_boolean krb5_auth_check(krb5_principal client_pname, - char * hostname, opt_info * options, - char * target_user, krb5_ccache cc, - int * path_passwd) +krb5_boolean krb5_auth_check(client_pname, hostname, options, + target_user, cc, path_passwd) + krb5_principal client_pname; + char *hostname; + opt_info *options; + char *target_user; + krb5_ccache cc; + int *path_passwd; { krb5_principal client, server, temp_client; krb5_creds tgt, tgtq, cred; @@ -211,8 +215,12 @@ krb5_boolean zero_password; /* krb5_fast_auth checks if ticket for the end server is already in the cache, if it is, we don't need a tgt */ -krb5_boolean krb5_fast_auth(krb5_principal client, krb5_principal server, - char * target_user, krb5_ccache cc){ +krb5_boolean krb5_fast_auth(client, server, target_user, cc) + krb5_principal client; + krb5_principal server; + char *target_user; + krb5_ccache cc; +{ krb5_creds tgt, tgtq; krb5_ticket * target_tkt; @@ -251,13 +259,14 @@ char * client_name; -krb5_error_code krb5_verify_tkt_def( /* IN */ - krb5_principal client, - krb5_principal server, - krb5_keyblock * cred_ses_key, - krb5_data * scr_ticket, - /* OUT */ - krb5_ticket ** clear_ticket) +krb5_error_code krb5_verify_tkt_def(client, server, cred_ses_key, scr_ticket, clear_ticket) + /* IN */ + krb5_principal client; + krb5_principal server; + krb5_keyblock *cred_ses_key; + krb5_data *scr_ticket; + /* OUT */ + krb5_ticket **clear_ticket; { krb5_keytab keytabid; krb5_keytab_entry ktentry; @@ -350,9 +359,14 @@ krb5_keyblock * tkt_ses_key; } -krb5_boolean krb5_get_tkt_via_passwd (krb5_ccache * ccache, krb5_principal client, - krb5_principal server, opt_info * options, - krb5_boolean * zero_password) { +krb5_boolean krb5_get_tkt_via_passwd (ccache, client, server, + options, zero_password) + krb5_ccache *ccache; + krb5_principal client; + krb5_principal server; + opt_info *options; + krb5_boolean *zero_password; +{ krb5_address **my_addresses; krb5_error_code code; krb5_creds my_creds; @@ -463,7 +477,9 @@ krb5_boolean krb5_get_tkt_via_passwd (krb5_ccache * ccache, krb5_principal clien } -void dump_principal (char * str, krb5_principal p) +void dump_principal (str, p) + char *str; + krb5_principal p; { char * stname; krb5_error_code retval; @@ -475,7 +491,8 @@ krb5_error_code retval; fprintf(stderr, " %s: %s\n", str, stname ); } -void plain_dump_principal ( krb5_principal p) +void plain_dump_principal (p) + krb5_principal p; { char * stname; krb5_error_code retval; @@ -563,8 +580,14 @@ convtime(p) return (r); } -krb5_error_code get_tgt_via_login_list(krb5_principal server, krb5_ccache cc, - char ** k5login_plist, krb5_principal * client, int * got_it){ +krb5_error_code get_tgt_via_login_list(server, cc, k5login_plist, + client, got_it) + krb5_principal server; + krb5_ccache cc; + char **k5login_plist; + krb5_principal *client; + int *got_it; +{ krb5_creds tgt, tgtq; int i =0; @@ -631,7 +654,9 @@ A principal is picked that has the best chance of getting in. **********************************************************************/ -krb5_error_code get_best_principal( char ** plist, krb5_principal * client) +krb5_error_code get_best_principal(plist, client) + char **plist; + krb5_principal *client; { krb5_error_code retval =0; char * client_name; diff --git a/src/clients/ksu/main.c b/src/clients/ksu/main.c index bc934bdd5..3e8d5f447 100644 --- a/src/clients/ksu/main.c +++ b/src/clients/ksu/main.c @@ -872,7 +872,10 @@ static char buf[MAXPATHLEN + 4]; } -int set_env_var( char * name, char * value){ +int set_env_var(name, value) + char *name; + char *value; +{ char * env_var_buf; /* allocate extra two spaces, one for the = and one for the \0 */ @@ -884,7 +887,10 @@ char * env_var_buf; } -void sweep_up(int use_source_cache, krb5_ccache cc){ +void sweep_up(use_source_cache, cc) + int use_source_cache; + krb5_ccache cc; +{ krb5_error_code retval; char * cc_name; struct stat st_temp; @@ -910,7 +916,12 @@ get_params is to be called for the -a option or -e option to *****************************************************************/ krb5_error_code -get_params( int * optind, int pargc, char ** pargv, char *** params ) { +get_params(optind, pargc, pargv, params) + int *optind; + int pargc; + char **pargv; + char ***params; +{ int i,j; char ** ret_params; @@ -955,7 +966,8 @@ void print_status (va_alist) } -char *get_dir_of_file(char * path) +char *get_dir_of_file(path) + char *path; { char * temp_path; char * ptr; -- 2.26.2