2011-07-04 1 views
0
#pragma inspect, symbols 

    #pragma nolist 

    #pragma ENV LIBSPACE 

    #include <stdio.h> 

    #include <string.h> 

    #include <tal.h> 

    #include <cextdecs(FILE_OPEN_,FILE_CLOSE_,FILE_GETINFO_,FILENAME_DECOMPOSE_,WRITEX,READX,FILE_SETKEY_,WRITEUPDATEX,FILENAME_RESOLVE_,FILE_SETPOSITION_,PROCESS_GETINFOLIST_,USER_GETINFO_,FILENAME_MATCH_)> 

    #include <fcntl.h> 

    #include <stdlib.h> 

    #include <stddef.h> 

    #include <ctype.h> 

    #include "$SYSTEM.ZSYSDEFS.ZSYSC (filename_constant,process_itemcodes)" 

#pragma list 

    /*VARIABLES*/ 

      const char program_id_DB[] = "CSRTST"; 
      const char program_name_DB_c[ZSYS_VAL_LEN_FILENAME] = {"$DSMSCM.CSR.CSRTST"}; 


/*PROCESS COMMAND FUNCTION*/ 

processCMD(char string[]) 
{ 


struct local_stack_def{ 

     _cc_status cc; 
     char command_E[30]; 
     char DataEntry[200]; 
     char user_id_E[200]; 
     char curr_vol_subvol[ZSYS_VAL_LEN_FILENAME]; 
     char program_name_DB[ZSYS_VAL_LEN_FILENAME]; 
     short ret_attr_count; 
     short ret_values_maxlen; 
     short user_maxlen; 
     char curr_vol_subvol_t; 
     int x, j, val1, val2, val3; 
     short user_curlen, piece_length, fullname_length; 
     short fpointer, error, resultFD,resultFM, resultUGI,resultGIL, resultFR,ret_val_length; 
     union { 
        long id_32; 
        short id_16[2]; 
        } user_id; 
     struct { 
       short paid; 
       short prgm_len; 
       char prgm_name_E[ZSYS_VAL_LEN_FILENAME]; 
        } ret_vals; 

     struct { 
      char val[20]; 
     } command_DB[2]; 
     struct { 
      char val4[50]; 
     } user_id_DB[2]; 


     short attr_listX[2]; 
}; 

struct local_stack_def l_temp; 
struct local_stack_def *l = &l_temp; 

strcpy(&l->curr_vol_subvol_t,"x"); 
+3

Trop de code et trop de questions. – ThiefMaster

+3

Veuillez simplifier votre extrait de code au * minimum * requis pour afficher le problème. –

Répondre

0

curr_vol_subvol_t est déclaré être char. Vous ne pouvez pas copier une chaîne C terminée par un caractère nul "x" dans un seul char. Vous avez besoin d'un tableau char avec au moins 2 membres, ou vous pouvez simplement attribuer un char (par exemple 'x') à curr_vol_subvol_t si c'est ce que vous voulez vraiment.

+0

Merci a bien fonctionné! – Ken

+0

Im ayant la même erreur pour tous les printf ont une idée pourquoi?!? if (l-> resultGIL! = 0) { printf ("FILENAME_RESOLVE_ ERREUR #:% d -Error occured.", L-> resultGIL); exit (EXIT_FAILURE); } – Ken

+0

Je ne sais pas pourquoi. Très difficile à travailler dans les commentaires. Posez une nouvelle question Celui-ci est fait. Essayez de poster moins de code la prochaine fois. Réduisez votre exemple à un court bloc de code reproductible. –

0

Votre curr_vol_subvol_t est un char, mais vous essayez d'écrire un char[2] (à savoir { 'x', '\0' }) à elle. Ne fais pas ça. Dites simplement l->curr_vol_subvol_t = 'x'.

+0

Merci a bien fonctionné! – Ken

Questions connexes