Bonjour tout le monde,
J'ai un petit souci en C et j'espére que vous pourrez m'aider.
Je veux faire un programme permettant de mettre a jour un svn dans un premier temps, puis de renommer les fichiers dans ma base de données afin de mettre à jour selon la convention de nommage appliquée.
J'ai donc deux fonctions :
- une pour faire un update sur le svn :
- une autre pour récupérer la version :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 char* command_svn (){ FILE * temp; FILE * temp2; char version[500]; char fichier[500]; char commande[100]; char* num_version_s = 0; char res[1000]=""; char* svn_res[1000]; strcpy(svn_res, ""); strcpy (commande,"svn update D:/waatavi/ > fichier"); system(commande); temp2 = fopen ("fichier","r"); char* text[60]; char text2[60]; while (fgets (text, sizeof (text), temp2) != NULL) { printf("%s", text); format(text, svn_res); } fclose (temp2); return svn_res; }
et voila enfin mon code principal :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 char* command_version (){ FILE * temp; char version1[500]; char commande1[100]; char* num_version_s = 0; strcpy (commande1,"svnversion > version"); system(commande1); temp = fopen ("version","r"); fgets(version1, 50, temp); int longueur1 = strlen(version1); num_version_s = str_sub(version1, 0, 4); fclose(temp); return num_version_s; }
.....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 int main(int argc, char *argv[]) { char* retour; char* ret; MYSQL mysql ; mysql_init(&mysql); mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"option"); if(mysql_real_connect(&mysql, "localhost","root","","xxx", 0, NULL, 0)){ retour = command_svn(); mysql_query(&mysql, "SELECT value FROM waa_config WHERE type='VERSION'"); MYSQL_RES *result = NULL; MYSQL_ROW *row = NULL; unsigned int i = 0; result = mysql_use_result(&mysql); row = mysql_fetch_row(result); int version_bd = atoi(row[0]); version_bd ++; mysql_free_result(result); char requete[150] = ""; sprintf(requete, "UPDATE waa_config SET value='%d' WHERE type='VERSION'", version_bd); mysql_query(&mysql, requete); requete[150] = ""; char* version_svn = command_version(); sprintf(requete, "UPDATE waa_config SET value='%s' WHERE type='SVN_VERSION'", version_svn); mysql_query(&mysql, requete);
sauf qu'a ce moment la, ma variable retour perd sa valeur.
savez vous pourquoi ?
en vous remerciant d'avance
Partager